我有一个maven项目,其中有一个名为“BlahITCase”的集成测试。此测试目前失败,反过来导致“mvn install”失败。这是预期的行为吗?我的理解是单元测试(surefire)失败会导致构建失败,但集成测试(使用故障保护)失败则不会。
我在pom的build plugins部分有以下内容:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.12.3</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
评论验证目标似乎给了我理想的行为。
答案 0 :(得分:1)
故障保护:集成测试目标将在验证生命周期开始时运行,然后是故障保护:验证哪个构建失败。 failsafe:默认情况下,verify必须验证生命周期,这将导致失败并停止继续安装
http://maven.apache.org/plugins/maven-failsafe-plugin/verify-mojo.html
如果绝对需要,您可以尝试告诉failafe插件忽略失败的测试但是应该采用失败的测试用例来表示该包尚未准备好部署。
http://maven.apache.org/plugins/maven-failsafe-plugin/verify-mojo.html#testFailureIgnore