我正在尝试将VM参数传递给Maven,特别是针对由failafe运行的一组测试。
我的pom.xml看起来像这样:
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<argLine>-Dtest.data=true</argLine>
</configuration>
<version>2.7.2</version>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
...
当我运行命令mvn clean verify
时,依赖于test.data设置为true的测试失败。但是,当我运行命令mvn -Dtest.data=true clean verify
时,测试全部通过。我需要将参数设置在我的CI环境的pom中。
我在这里错过了什么吗?
提前致谢,
皮特
答案 0 :(得分:3)
使用<systemPropertyVariables>
元素to set system properties(我没有看到文档中提到<argLine>
的位置,您在哪里找到它?):
<configuration>
<systemPropertyVariables>
<test.data>true</test.data>
</systemPropertyVariables>
</configuration>
答案 1 :(得分:0)
好吧事实证明,我试图运行的集成测试需要将此参数传递给Tomcat插件而不是Failsafe插件。谢谢你的帮助!