【问题标题】:jacocoTestCoverageVerification : How gitlab counts test coverage - Spring Boot?jacocoTestCoverageVerification:gitlab 如何计算测试覆盖率 - Spring Boot?
【发布时间】:2021-06-26 02:54:04
【问题描述】:

我有一个使用 Sprig Boot、JUnit 和 Gradle 的项目。在 Gradle 依赖项中,我发现了以下几行:

jacocoTestCoverageVerification {
    violationRules {
        rule {
            limit {
                minimum = Float.parseFloat(System.getenv().getOrDefault("CI_TEST_COVERAGE_REQUIRED", "0.7"))
            }
        }
    }
}

正如我所说,这些行表明在 Gitlab 中测试覆盖率必须至少达到 70%。

当我在 IntelliJ IDE 中进行覆盖范围的运行测试时,我得到了 3 个测量值,如图所示。

所以,我们得到了 3 个不同的值,表示几种类型。

所以我担心的是,如何从这 3 个值中计算出 70% 的一个值?

有什么方法或命令可以获得这个 70% 或 0.7 的值吗?

【问题讨论】:

    标签: java spring-boot gradle test-coverage


    【解决方案1】:

    通过阅读从JacocoCoverageVerificationJacocoViolationRule 和最后JacocoLimit#getCounter 的文档

    适用于 org.jacoco.core.analysis.ICoverageNode.CounterEntity 定义的限制的计数器。有效值为 INSTRUCTION、LINE、BRANCH、COMPLEXITY、METHOD 和 CLASS。默认为指令。

    所以默认是INSTRUCTION,当然你可以指定counter的值为CLASSMETHOD或者LINE

    如果您想知道LINEINSTRUCTION 之间的区别,请查看Lines of Code VS Instructions while measuring code quality

    【讨论】:

      猜你喜欢
      • 2023-02-04
      • 2017-06-18
      • 2021-08-09
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 2018-09-21
      • 2019-08-20
      • 1970-01-01
      相关资源
      最近更新 更多