【问题标题】:Prevent maven from skipping tests (default = skip)防止 maven 跳过测试(默认 = 跳过)
【发布时间】:2013-04-30 05:06:55
【问题描述】:
我的 pom.xml 看起来像这样:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
所以默认情况下,maven builder 应该跳过所有测试。
是否可以激活mvn -Dmaven.test.skip=false test 之类的测试?
我想要做的是仅在使用 jenkins 构建代码时执行测试套件。
【问题讨论】:
标签:
maven
testing
build
jenkins
skip
【解决方案1】:
maven-surefire-plugin 的默认值为 not 以跳过测试。所以最好是去掉
<skipTests>true</skipTests>
来自您的 pom.xml 的条目。此外,让测试套件与 Maven 相关是没有意义的。
但您当然可以通过由 Jenkins 环境激活的配置文件来处理,如下所示:
<profiles>
<profile>
<id>default-build</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>jenkins-build</id>
<activation>
<property>
<name>JENKINS_URL</name>
</property>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
</plugins>
</build>
</activation>
</profile>
</profiles>
顺便说一句。使用当前 2.14.1 更新的 maven-furefire-plugin 版本。