我的集成测试遇到了一个非常烦人的问题,无论测试的实际结果如何,Maven 故障安全插件都返回退出代码 0:
例如,运行“mvn verify”显示:
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 23.519s
[INFO] Finished at: Tue Sep 16 13:12:55 BST 2014
[INFO] Final Memory: 53M/512M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.6:verify (verify) on project [my.project]: There are test failures.
……
echo $?
0
故障安全配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.17</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>
我以前从未见过这个问题突然出现,它使我的 CI 堆栈变得毫无价值,因为如果测试失败,构建也不会失败!这与我过去做过的类似事情的唯一区别是我在这里使用的是 java 8。