Faw*_*awi 13 maven-plugin maven maven-failsafe-plugin
我想使用maven-failsafe-plugin来运行一些集成测试.如果任何测试失败,我希望Maven失败构建而不是BUILD SUCCESS.
Tests run: 103, Failures: 1, Errors: 0, Skipped: 26
[INFO] BUILD SUCCESS*
Run Code Online (Sandbox Code Playgroud)
我怎样才能配置它,那个构建不成功的是什么?
我的故障安全插件配置为:
<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>
Run Code Online (Sandbox Code Playgroud)
Ben*_*ews 11
正如Andrew指出的那样,正确的解决方案是按预期使用故障保护.集成测试目标专门设计为不会使构建失败.如果你想使构建失败,请致电mvn verify或mvn failsafe:verify
为了实现verify目标,它需要读取默认写入的集成测试的结果,${project.build.directory}/failsafe-reports/failsafe-summary.xml以确保生成.
此外,您必须确保将maven-failsafe-plugin配置绑定到部件中的integration-test目标和verify目标executions.
如果未能添加其中任何一个,将导致maven成功构建,而不是在集成测试失败时失败.
Faw*_*awi -1
解决方案。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
<executions>
<execution>
<id>unit-test</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
<excludes>
<exclude>**/*IntegrationTest.java</exclude>
</excludes>
</configuration>
</execution>
<execution>
<id>integration-test</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<skip>false</skip>
<enableAssertions>false</enableAssertions>
<includes>
<include>**/*IntegrationTest.java</include>
</includes>
<systemPropertyVariables>
<integration>${integration}</integration>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)