我有一项服务连接到我想测试的一组api。
我想为我的集成测试制作假服务(以模拟失败情况)
我不能简单地使用@RestController,因为它们在测试期间没有加载,我查看了mockserver但我不确定它是否是我正在寻找的,因为我不希望我的测试触发模拟调用,但是相反,我的代码应该正常触发api调用,只需使用模拟服务器而不是实际的服务器(基本URL是可配置的,所以我可以让我的服务指向模拟服务器)
更新1:
我看到的唯一选择是推出Cargo并在其中部署我的服务?
更新2: 我刚刚发现了有关Wiremock的信息。这可以在这里使用吗?
答案 0 :(得分:2)
我选择了WireMock http://wiremock.org/
在junit测试中设置ClassRule会在测试开始之前启动并运行虚假服务器。
答案 1 :(得分:1)
Mockito(http://docs.mockito.googlecode.com/hg/1.9.5/org/mockito/Mockito.html)是一个很好的模拟方法调用库。给定一定的输入,它可以返回一定的值。使用此库,您可以模拟REST客户端以模拟应用程序与REST API之间的通信。