实践成功方案:检查 testFailureIgnore 参数是否设置错误
参考
https://stackoverflow.com/questions/35730372/skip-build-failure-in-maven-if-the-integration-test-fails
https://maven.apache.org/surefire/maven-failsafe-plugin/verify-mojo.html#testFailureIgnore
<testFailureIgnore> Set this to true to ignore a failure during testing. Its use is NOT RECOMMENDED, but quite convenient on occasion. Type: boolean Required: No User Property: maven.test.failure.ignore Default: false
细节
在log里搜索testFailureIgnore = true,如果能找到。。
- 那么表示在pom里有某些地方显示指定了“<testFailureIgnore>true</testFailureIgnore>”
- 或者尽管在maven build参数加入“
-Dmaven.test.failure.ignore=false
”,但对于某些plugin无效(比如 maven-failsafe-plugin ),需要在pom里显示的加上"<testFailureIgnore>false</testFailureIgnore>"
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>3.0.0-M5</version> <executions> <execution> <id>integration-test</id> <phase>test</phase> <goals> <goal>integration-test</goal> </goals> <configuration> <includes> <include>**/*IntegrationTest.java</include> </includes> </configuration> </execution> <execution> <id>verify</id> <phase>verify</phase> <goals> <goal>verify</goal> </goals> </execution> </executions> <configuration> <testFailureIgnore>false</testFailureIgnore> </configuration> </plugin>
其余方案
https://stackoverflow.com/questions/16797601/maven-failsafe-plugin-errors-and-build-success
https://stackoverflow.com/questions/14614374/error-during-failsafe-integration-test-does-not-cause-failed-maven-build