1

我有一个服务,它连接到我想测试的一组 api。

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

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

更新 1:

我看到的唯一选择可能是启动 Cargo 并在其中部署我的服务?

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

4

2 回答 2

2

我选择了 WireMock http://wiremock.org/

在 junit 测试中设置 ClassRule 将使假服务器在测试开始之前启动并运行。

于 2016-05-03T19:40:02.923 回答
1

Mockito(http://docs.mockito.googlecode.com/hg/1.9.5/org/mockito/Mockito.html)是一个很好的模拟方法调用的库。它可以在给定特定输入的情况下返回特定值。使用这个库,您可以模拟一个 REST 客户端来模拟您的应用程序和 REST api 之间的通信。

于 2016-04-18T19:18:10.563 回答