我在 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 覆盖率报告,但如果未满足覆盖率目标则构建失败而不生成报告。如何更改它以始终生成报告?
最佳答案
如果未满足代码覆盖率目标,则不是构建失败,而是可以将其设置为将构建标记为不稳定?我知道有很多方法可以通过 Jenkins CI 服务器来做到这一点,但我不确定是否可以通过 pom.xml
来实现这一点。 .再说一次,“不稳定”的构建可能更特定于 Jenkins,并且可能不会仅通过您的 pom 文件存在。
关于maven - Cobertura 与 Maven - 如果覆盖率低于阈值则失败,但仍会生成站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7982614/