gpt4 book ai didi

java - 如何设置系统变量以用于 Maven 故障安全测试?

转载 作者:行者123 更新时间:2023-11-30 11:41:46 25 4
gpt4 key购买 nike

我正在尝试在没有我需要设置的环境变量的构建服务器上运行测试。

该变量在 spring 上下文 xml 文件中用于解析属性文件的位置。

例如类路径:配置/${EnvironmentType}/myfile.properties

我正在使用故障安全插件并尝试各种记录的方法(甚至是已弃用的方法)来设置变量。这些都没有一点区别,变量永远不会被解析。

我的配置如下:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.12</version>
<executions>
<execution>
<id>Integration tests against mocks</id>
<goals>
<goal>integration-test</goal>
</goals>
<configuration>
<skipTests>${skip.integration.mock.tests}</skipTests>
<includes>
<include>**/*ITMock.java</include>
</includes>
<argLine>-DEnvironmentType="DevelopmentIntegration"</argLine>
<systemPropertyVariables>
<EnvironmentType>DevelopmentIntegration</EnvironmentType>
</systemPropertyVariables>
<environmentVariables>
<EnvironmentType>DevelopmentIntegration</EnvironmentType>
</environmentVariables>
<systemProperties>
<property>
<name>EnvironmentType</name>
<value>DevelopmentIntegration</value>
</property>
</systemProperties>
<forkMode>false</forkMode>
</configuration>
</execution>
<execution>
<id>Verify</id>
<goals>
<goal>verify</goal>
</goals>
<configuration>
<skipTests>false</skipTests>
</configuration>
</execution>
</executions>
</plugin>

如何在不在机器上实际设置的情况下为我的测试设置这个环境变量?

注意:使用 mvn verify -DEnvironmentType="DevelopmentIntegration"运行它是有效的。我希望它仅与 mvn verify 一起工作。

干杯,彼得

最佳答案

显示的配置值为 false对于 <forkMode> ,根据 docs 这似乎不是此参数的有效值.

我相信插件配置中指定的环境和系统变量适用于当前运行的 JVM;如果插件创建一个新的 JVM 来运行测试,它们就适用。我的猜测是 false forkMode 参数中的值导致 fork 不会发生。尝试将其保留为默认值 ( once ),看看是否可行。

关于java - 如何设置系统变量以用于 Maven 故障安全测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12137400/

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