Das*_*sma 5 spring spock spring-boot spring-cloud-feign
我正在尝试在 Spring Boot 应用程序的测试中为 Spock 测试设置 feign 客户端。
Spock 测试设置为
@ActiveProfiles("functional-test")
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
Run Code Online (Sandbox Code Playgroud)
我有一个 application-function-test.yml ,其中我的 feign 客户端是 url 定义,我尝试过:
my.feign.client.example.url: localhost:${local.server.port}
Run Code Online (Sandbox Code Playgroud)
但本地服务器端口显示为 0,这不适合应用程序的随机端口。
我也尝试过,其中 randomServerPort 包含随机端口,但我无法覆盖该属性:
@LocalServerPort
int randomServerPort;
@Value('${my.feign.client.example.url}')
String feignTestClient
void setup() {
feignTestClient="localhost:${randomServerPort}"
}
Run Code Online (Sandbox Code Playgroud)
有什么最佳实践的想法吗?我更喜欢在 application-function-test.yml 中设置 url,这样可以避免使用虚拟值进行初始化
我的 Feign 客户端如下所示:
@FeignClient(name = "myClient", url = "${my.feign.client.example.url}")
public interface FeignTestRestClient extends SomeControllerApi {}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
441 次 |
| 最近记录: |