我正在和Maven一起使用Cobertura。
如果覆盖率低于给定的阈值,我希望构建失败,但我希望仍然生成该站点(包括Cobertura报告)。这是因为开发人员需要参考覆盖率报告,以了解他们可以添加更多覆盖范围来修复失败的构建。
目前我的pom看起来像是:
<project>
<build>
...
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>${cobertura.version}</version>
<configuration>
<check>
<totalLineRate>${cobertura.check.totalLineRate}</totalLineRate>
</check>
</configuration>
<executions>
<execution>
<goals>
<goal>clean</goal>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>${cobertura.version}</version>
</plugin>
...
</plugins>
</reporting>
</project>
如果我运行mvn clean verify site
,那么它会在满足覆盖率目标的情况下生成HTML覆盖率报告,但如果未满足覆盖目标,则无法在没有生成报告的情况下构建。如何将其更改为始终生成报告?
答案 0 :(得分:4)
如果不满足代码覆盖率目标,而不是使构建失败,是否可以将其设置为将构建标记为不稳定?我知道有办法通过Jenkins CI服务器执行此操作,但我不确定是否可以通过pom.xml
完成此操作。然后,“不稳定”构建可能更具有Jenkins特定性,并且可能不会仅通过您的pom文件存在。
答案 1 :(得分:1)
快速解决方法:删除check
目标:
<executions>
<execution>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
然后运行
mvn clean verify site cobertura:check
如果您正在使用Hudson / Jenkins从pom.xml
删除所有检查并将Cobertura插件安装到Hudson并在Hudson / Jenkins插件中配置检查。