当Spring Boot Test WebEnvironment设置为RANDOM_PORT时,如何为功能区配置服务器列表

时间:2017-10-24 11:57:46

标签: java spring testing spring-boot spring-cloud-netflix

我在application.yml中为Ribbon配置了以下配置,以便正常工作。

let a = [1, 2, 3];
let b = [...a, 4, 5, 6];
console.log(b);
> [1, 2, 3, 4, 5, 6]

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

ribbon: listOfServers: http://localhost:8080

但是当设置为@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = TestApplication.class)集成测试失败并且我得到RANDOM_PORT时。因为Feign正在寻找端口8080上的测试,但它们位于随机端口上。 设置为feign.RetryableException: Connection refused时,所有测试都成功通过。 我应该如何为Ribbon配置服务器列表,以便查找SpringBoot生成的随机端口?

1 个答案:

答案 0 :(得分:0)

使用属性

local.server.port

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