是否可以在运行时修改@SpringBootTest.webEnvironment?
我想翻转 @SpringBootTest.webEnvironment
NONE <->随机端口。
当我想测试临时启动的应用程序时,我需要 RANDOM_PORT。
当我想测试远程实时应用程序时,我不需要任何东西。
示例:我有一个典型的 Spring Boot 测试,
url: http://localhost:${local.server.port}
@Value("${url}") private String url;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT){
...
@Test
void test() {
RestAssured
.given()
.when()
.get(url)
.then()
.statusCode(200);
}
它工作正常。
我还想针对其他一些实时应用程序执行测试。如果我设置 url: http://live.app.com
则其他应用测试成功。
但是,当我测试 live.app.com
时,测试框架会在本地启动应用程序。这是不必要的开销。
我想要进行相同的测试,根据配置可能会
- 在本地启动应用程序并验证应用程序
- 不要启动本地应用程序并验证远程实时应用程序
如何做到这一点?
I would like to flip @SpringBootTest.webEnvironment
NONE <-> RANDOM_PORT.
When I want to test the ad-hoc started application, I need RANDOM_PORT.
When I want to test remote, live applications, I need NONE.
Example: I have a typical Spring Boot test
url: http://localhost:${local.server.port}
@Value("${url}") private String url;
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT){
...
@Test
void test() {
RestAssured
.given()
.when()
.get(url)
.then()
.statusCode(200);
}
It works OK.
I also want to execute the test against some other, live application. If I seturl: http://live.app.com
then the other application is successfully tested.
However, when I test live.app.com
, the Test Framework starts the application locally. It is unnecessary overhead.
I would like to have the same test, which depending on configurations may
- Start the application locally and verify the application
- Do not start a local application and verify the remote, live application
How to do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论