我想使用 maven-failsafe-plugin 来运行一些集成测试。如果任何测试失败,我希望 Maven 使构建失败而不是 BUILD SUCCESS。
Tests run: 103, Failures: 1, Errors: 0, Skipped: 26
[INFO] BUILD SUCCESS*
我该如何配置它,构建不成功是什么?
我的故障保护插件配置为:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${failsafe.version}</version>
<configuration>
<systemProperties>
<CI_INTEGRATION_OVERRIDE_PATH>${basedir}/..</CI_INTEGRATION_OVERRIDE_PATH>
</systemProperties>
<includes>
<include>**/integration/**/*.java</include>
</includes>
<excludes>
<exclude>**/integration/**/*TestSuite.java</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
最佳答案
正如 Andrew 指出的那样,正确的解决方案是按预期使用故障保护。集成测试目标专门设计为不会使构建失败。如果您想使构建失败,请调用 mvn verify
或 mvn failsafe:verify
对于verify
目标工作,它需要读取默认写入${project.build.directory}/failsafe-reports/failsafe-summary.xml
的集成测试结果所以请确保它正在生成。
此外,您必须确保绑定(bind)您的 maven-failsafe-plugin
配置到 integration-test
目标和 verify
executions
中的目标部分。
未能添加其中任何一个都将导致 maven 成功构建,而不是在集成测试失败时失败。
关于maven-failsafe-plugin 失败和构建成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12279160/