如何编写一个 junit 测试用例来测试 rest 客户端?

How to write a junit test case to test a rest client?

我已经创建了一个 spring boot rest 客户端,它基本上使用了一个 rest 服务。我想编写一个 junit 测试用例来验证我的其余客户端。我希望在 junit 测试用例中以某种方式拦截其余请求,并检查 URL、路径参数、查询参数和正文中的上下文是否正确。我只是想确认一下,如果有人使用其余客户端,它将正确调用其余服务。

您可以尝试以下方法:

  1. 使用@RestClientTest 注解。它将仅加载包含其余客户端调用的 class,并在测试期间配置应用程序上下文以提供匹配验证请求的方法。

你可以阅读 this article 例如

  1. 使用 WireMock - 您可以在设置阶段启动它,设置期望,在测试期间进行调用,最后验证调用是否与预期的匹配。当您发出连接模拟的请求时,它将“记录”它并存储在内存中(直到您重置它)。它还从真实端口开始,因此您应该有一个可用端口。有关更多信息,请阅读官方文档this chapter