使用测试替身对 FeignClient 进行集成测试

Integration Test For FeignClient Using Test Double

我是 spring 云的新手。有没有一种方法可以使用像线模拟或某种测试替身这样的测试替身对 Feign 客户端执行集成测试?有没有办法让我在注册表服务器中双重注册这个模拟测试,然后将它与 FeignClient 一起使用?

您可以在预定义的端口上启动 WireMock 服务器(或将其注册为 Spring Bean)。然后,为了您的测试,您可以有一个自定义配置,它将 Ribbon Load Balancer 的服务器列表的值设置为包含 localhost:wiremockPort,就像此处显示的那样 - https://github.com/spring-cloud/spring-cloud-sleuth/blob/master/spring-cloud-sleuth-core/src/test/java/org/springframework/cloud/sleuth/instrument/web/client/WebClientTests.java#L382-L395