使用虚假服务器进行集成测试

时间:2016-04-18 19:14:03

标签: java testing tdd wiremock

我有一项服务连接到我想测试的一组api。

我想为我的集成测试制作假服务(以模拟失败情况)

我不能简单地使用@RestController,因为它们在测试期间没有加载,我查看了mockserver但我不确定它是否是我正在寻找的,因为我不希望我的测试触发模拟调用,但是相反,我的代码应该正常触发api调用,只需使用模拟服务器而不是实际的服务器(基本URL是可配置的,所以我可以让我的服务指向模拟服务器)

更新1:

我看到的唯一选择是推出Cargo并在其中部署我的服务?

更新2: 我刚刚发现了有关Wiremock的信息。这可以在这里使用吗?

2 个答案:

答案 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之间的通信。