为了在Feign中正常工作,我在application.yml中具有Ribbon的以下配置。

ribbon:
    listOfServers: http://localhost:8080


我的IntegrationTest批注配置如下所示:

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TestApplication.class)

但是,当设置为RANDOM_PORT时,集成测试将失败,并且会显示feign.RetryableException: Connection refused。因为Feign在端口8080上寻找测试,但它们在随机端口上。
设置为DEFINED_PORT时,所有测试均成功通过。
我应该如何为Ribbon配置服务器列表,以便让Feign查找SpringBoot产生的随机端口?

最佳答案

使用财产

local.server.port

ribbon:
    listOfServers: localhost:${local.server.port}

10-01 05:55