gpt4 book ai didi

java - spring boot 测试 - 传递命令行参数

转载 作者:搜寻专家 更新时间:2023-11-01 00:56:09 49 4
gpt4 key购买 nike

我有带注释的集成测试:

@WebAppConfiguration
@ActiveProfiles("integration")
@ContextConfiguration(loader = SpringApplicationContextLoader, classes = [MyApplication])
@IntegrationTest(["server.port=0"])

我可以传递例如 server.port 属性来测试上下文,但是有什么方法可以传递命令行参数吗?我的应用程序通常是这样启动的:

public static final void main(String[] args) {
SpringApplication.run(AnkaraCollectorApplication.class, args);
}

我想传递一些参数来测试上下文。这个有什么属性吗?

最佳答案

如果您使用的是 Maven,则可以在故障安全插件中传递测试 JVM 参数:

<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
...
<configuration><br/>
<argLine> whatever you want: -DhelloWorld=Test </argLine>
</configuration>
...

您还可以根据您正在执行的 Maven 配置文件设置此 JVM 参数:

<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Development JVM arguments -->
<test-arguments>-Dhello=true</test-arguments>
<!-- Default environment -->
<environment>develop</environment>
</properties>
</profile>
...
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
...
<configuration><br/>
<argLine>${test-arguments}</argLine>
</configuration>
...

关于java - spring boot 测试 - 传递命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29032589/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com