使用 Spring 5 WebClient 的测试类

f1d*_*ave 1 spring mockito wiremock spring-webflux

我们正在慢慢地将一些项目从使用遗留的 RestTemplate 类迁移到新的 Spring 5 WebClient。作为其中的一部分,我们有一些现有的测试类,它们使用 Mockito 来验证给定的方法是否会使用模板向端点 X 发出 GET/POST/任何内容。

鉴于 WebClient 的流畅界面,同样的模拟方法并不实用。我花了一些时间使用 WireMock,这很棒,但不幸的是,似乎存在一个错误,WireMock 测试偶尔会溢出或挂起,因此我正在考虑替代方案。

有没有人对框架或技术有任何其他建议来验证 Spring 的 WebClient 是否正在将预期的调用作为 SUT 执行的一部分?

小智 5

Spring 实际上使用OkHttp MockWebServer来测试 WebClient。

Spring 的示例集成测试

您可以设置有序的模拟响应或将模拟响应映射到请求详细信息。