我有一个通过标准端口机制启动的Spring Boot应用程序,即将属性值server.port
设置为一个固定数字,例如8081.我设法在该Spring Boot应用程序中公开了第二个/单独的端口,在该端口上可以使用一些其他(Read:内部)REST端点.因此,我介绍了server.internalPort
号物业.
在运行@SpringBootTest
积分测试时,我可以很容易地通过webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT
随机化server.port
的值.但我也需要以某种方式随机化属性server.internalPort
的值.
有没有一种简单的方法可以在测试启动时为随机化注册属性值?例如,我的测试是这样的:
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
...
public abstract class AbstractSomethingIntegrationTest {
@LocalServerPort
private int port;
@Value("${server.internalPort}")
private int internalPort;
变量port
得到一个随机值,而internalPort
不是.它获得我在integrationtest/resources/application.yml
文件中使用的值.