Maven构建忽略测试失败
在Maven构建过程中,测试是其生命周期的一部分,每一个构建过程都会执行项目中的测试用例,如果遇到一个测试失败,默认会停止当前的构建。
如果遇到测试失败时,依然希望继续构建项目,那么需要设置surefire插件的testFailureIgnore属性为true。
在Maven项目的pom文件中进行设置
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
也可以在使用命令时进行设置
mvn test -Dmaven.test.failure.ignore=true
Maven执行单元测试失败后继续
最近在进行sonarqube与maven集成时,如果pom文件配置了sonarqube相关配置,那么在pom文件所在目录执行
mvn clean install sonar:sonar即可完成测试结果导出,但是在执行单元测试时有些单元测试失败将会终止后续sonar:sonar的执行
两个办法可以解决这个问题
1.在执行mvn clean install后面增加-Dmaven.test.failure.ignore=true
2.在pom文件中增加以下配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。