为什么使用maven配置文件的运行配置不能按预期工作?为什么配置文件在参数确实按预期工作时无法跳过测试?
我有一个不按预期运行的maven运行配置(它在lib-module
中运行我想要跳过的测试):
-pl common,lib-module,my-module test -PdontTestLibProfile
当我运行相同的运行配置但直接使用maven属性参数时:
-pl common,lib-module,my-module test -DdontTestLib=true
跳过lib-module测试成功。
maven个人资料dontTestLibProfile
位于my-module
的pom中。
<artifact-id>my-module</artifact-id>
[...]
<profile>
<id>dontTestLibProfile</id>
<properties>
<dontTestLib>true</dontTestLib>
</properties>
</profile>
dontTestLib
是mavenProperty,在lib-module
中进行检查,如果设置为true
,则不会运行集成或单元测试。
<artifactId>lib-module</artifactId>
<properties>
<!-- Skip tests: Default is to NOT skip ==> Default is to run -->
<doneTestLib>false</dontTestLib>
</properties>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<!-- Skip Lib-Module Integration tests if skip is set -->
<skipTests>${dontTestLib}</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!-- Skip Lib-Module Unit tests if skip is set -->
<skipTests>${dontTestLib}</skipTests>
</configuration>
</plugin>
</plugins>
</build>
可能导致此问题的一些推论问题:
my-module
影响之前的lib-module
吗?