Jua*_*bos 6 java spring spring-boot
我正在使用 Spock 作为测试框架,使用 Apache Camel 路由为 Spring Boot 应用程序创建一些单元测试,并且我需要模拟来自另一个应用程序的响应。我为此制作了一个模拟控制器,但我需要将测试运行的端口注入到属性中。有没有办法获取正在运行测试的端口?
\n\n我尝试过
\n\n@LocalServerPort\nprivate int port \nRun Code Online (Sandbox Code Playgroud)\n\n与
\n\n@Autowired Environment environment;\nString port = environment.getProperty("local.server.port");\nRun Code Online (Sandbox Code Playgroud)\n\n但两者都返回 -1,我不知道\xc2\xb4t 是否有其他方法来获取端口
\n\n我的测试配置了以下注释:
\n\n@RunWith(SpringRunner)\n@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)\n@ActiveProfiles(\'test\')\nRun Code Online (Sandbox Code Playgroud)\n\n另外,有没有办法在文件中注入随机端口application-test.yml?理想情况下,我需要在我的application-test.yml文件中执行类似的操作:
app:\n service: localhost:${server.port}\nRun Code Online (Sandbox Code Playgroud)\n\n其中端口是运行测试的随机端口。
\n你能试试这个吗:
@SpringBootTest(classes = {Application.class}, webEnvironment = WebEnvironment.RANDOM_PORT)
public class test{
@LocalServerPort
private int rdmServerPort;
@LocalManagementPort
private int rdmManagementPort;
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4952 次 |
| 最近记录: |