Wiremock从相同的JSON映射返回成功或错误响应



我是Wiremock的新手,尽管我已经浏览了文档,但我仍然没有完全理解它

我想知道的是…

有没有办法在1个存根中定义两种行为——成功响应情况和错误响应(或多次(情况,以防例如请求的正文匹配模式不满足?是否支持这一点,或者我应该为每种类型的无效请求(例如请求主体(编写单独的请求匹配器?当然,用一种更广义的方式。

如果可以在同一个存根JSON中组合错误响应和成功响应,请给我一个例子,或者也给我指一个例子?

使用具有两个不同优先级的两个不同存根可以很容易地完成特定示例(例如,请求的正文匹配模式不满足?(。第一个存根将具有更高的优先级,并且是更具体的匹配,并返回成功响应。第二个存根的优先级较低,本质上是所有其他调用的catchall,并返回失败响应。

例如,如果唯一的区别是您希望所有对"/successendpoint"的调用都返回200,而任何其他调用都返回400…

stubFor(get("/success-endpoint").atPriority(1)
.willReturn(ok("Success response body")));
stubFor(get(urlMatching("/.*")).atPriority(2)
.willReturn(aResponse().withStatus(400).withBody("Error response body")));

如果你想在同一个存根中组合成功/错误响应,你需要更多的创造力。如果状态代码在请求主体中,您可以使用响应模板获取它,并将其作为响应状态代码插入。如果它不是超级可见的,并且你需要在请求中使用其他东西,你可以创建一个响应转换器,并使用它来通知你的条件响应。也许场景是你的拿手好戏。很抱歉,这个回复的其余部分不是非常具体,而是有点模糊,但在不知道你的请求/回复是什么样子的情况下,有很多可行的选择。

相关内容

  • 没有找到相关文章

最新更新