maven - Cobertura 与 Maven - 如果覆盖率低于阈值则失败,但仍会生成站点

标签 maven cobertura

我在 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/

相关文章:

maven - Jenkinsfile 错误 - java.lang.NoSuchMethodError : No such DSL method 'withMaven' found among steps

java - Docker 构建无法找到 COPY 命令的源文件夹

java - 将 Ant 更改为 Maven 后 # 值中的字节码差异

findbugs pmd checkstyle cobertura 的 Maven sonar 插件配置

cobertura - Cobertura排除与忽略

maven - 如何为 maven 插件定义默认 mojo

java.lang.NoClassDefFoundError : scala/Predef$any2stringadd$ 错误

grails - 如何在Grails 3中使用Gradle Cobertura插件

java - org.sonar.api.utils.SonarException : Can not add twice the same measure on org. sonar.api.resources.File

code-coverage - 从 cobertura 报告中排除某些类别