如何在游戏框架2.x [Java]中模拟控制器 / REST端点以进行单元测试



我们正在使用Java在Play Framework 2.x上开发一个项目,并具有一些休息端点。另外,我们还有一些测试用例,例如:

    @Test
    public void testLogout() throws Exception {
        FakeRequest request = new FakeRequest("GET", "/product/api/v1/logout");
        Result result = route(request);
        assertThat(status(result)).isEqualTo(OK);
        assertThat(contentType(result)).isEqualTo("application/json");
        assertThat(contentAsString(result)).contains("result");
    }

另一方面,我们有一些无法在生产数据库中测试的方法[例如register()]。

测试影响POD数据库的方法的正确方法是什么?我认为嘲笑,但我不确定,我不知道该怎么做。如果嘲笑是一个不错的选择,是否有工作示例?

请给我一些有关此问题的建议。

我认为正确的方法不是针对生产数据库进行测试。

i将测试分为2组,单位测试和集成测试。单位测试是通常的,在集成测试中我测试了应用程序本身之外的所有内容(例如,数据库)及其之间的连接。

我在需要时使用模拟数据库中的模拟运行单元测试,并针对与生产相同但不是同一数据库的数据库进行集成测试。

我希望我的方法对您有帮助。

相关内容

  • 没有找到相关文章

最新更新