假黄瓜的http响应

时间:2016-11-24 18:23:03

标签: xmlhttprequest cucumber stub

说,我的应用程序中有一个依赖于外部API的功能 - 我提供了一个接口,它调用我的服务器,服务器依赖于它,调用一些外部API并响应某些内容客户。如果我想用黄瓜为此编写验收测试,我如何将调用存根到那个外部API,例如,任何对https://www.cool-api.io/foo的GET调用都会立即返回一些预定义的JSON响应和一些预定义的标题,对该URL的任何POST请求都会返回一个具有某些预定义状态和标题的响应,等等。如何进行验收测试如果你正在使用黄瓜?

2 个答案:

答案 0 :(得分:0)

我可能会编写自己的存根,它能够伪造一个具有预期内容和标头集的响应实现。如果响应对象是使用接口定义的,那么请手动滚动存根以实现该接口。

在我看来,使用Mockito可能会很麻烦。 Mockito很棒,但设置这样复杂的返回值可能会很混乱。在响应接口的实现中对响应进行硬编码可能更容易。

我会使用除Cucumber之外的其他工具来检查与外部服务的实际集成。

答案 1 :(得分:0)

我们使用WireMockMockServer。您可以将它们实现为存根API调用。 另外,我建议使用像Jackson这样的框架从域对象生成json。这样做的好处是不必在代码库中维护json Strings / docs,并编译时间检查是否在测试中创建了有效的域对象。