WireMock 意外返回 Null

WireMock unexpectedly returning Null

在使用 WireMock 模拟预期 return JSON 的端点时,我遇到了一个问题,它不会 return 预期的 JSON。查询 WireMock 的存根将在预期端点显示正确的 JSON。

虽然 运行 有几个数据点与我的理论相悖,但在出现此问题并且测试失败之前,我通常会成功通过 7 次测试。然而,在理论的顶部添加大约 5 秒的睡眠允许所有测试通过。将测试的内容包装在一个循环中将使它 运行 一个数据点多次,最终失败。添加睡眠将允许它进一步运行,但最终它会提供一个空值。

这是一个已知问题吗?有合适的解决方法吗?

原来是 Hystrix 的短路。每个测试用例都对三个端点之一进行存根,而另外两个则失败。在第七次测试之后,有 21 个调用,其中 2/3 失败了。短路在 20 次调用后中断,其中一半失败。

hystrix.command.default.circuitBreaker.requestVolumeThreshold=100

这将阻止它直接跳到后备。