繁体   English   中英

Ant 与 Gradle Jacoco 代码覆盖率不同

[英]Ant Vs Gradle Jacoco code coverage differs

我们已经从ant构建工具迁移到 Gradle 并将0.7.4 jacoco版本升级到最新0.8.6版本。

我观察到,与Ant-1.7.0相比, Gradle-6.6.1构建中的jacoco Reports略有降低(~1%),如下所示。

在此处输入图像描述

 compileJava {
            sourceCompatibility = JavaVersion.VERSION_1_8
            targetCompatibility = JavaVersion.VERSION_1_8

            options.fork = true
            options.incremental = true
            options.encoding = 'UTF-8'
            options.debug = true

 }

Ant 编译

<javac srcdir="${src}"
           destdir="${classes}"
           excludes="**/package-info.java"
           debug="true"
           fork="true"
           memoryMaximumSize="${javacCoreMaxMem}"
           includeAntRuntime="false"
           encoding="UTF-8">
      <classpath>
        <pathelement path="${deps}" />
      </classpath>
    </javac>

我确保Ant compile args 和Gradle compileJava Args 应该匹配。 但不确定为什么报告中存在差异?

我确保 Ant compile args 和 Gradle compileJava Args 应该匹配。

但是您正在比较不同版本的 JaCoCo

还将 0.7.4 jacoco 版本升级到最新的 0.8.6 版本

请查看这些版本之间的更改 - https://www.jacoco.org/jacoco/trunk/doc/changes.html

有许多改变了诸如指令或分支数量等指标的计算方式。

作为 0.7.5 中的示例之一,有

更好地检测具有隐式异常的代码块中的覆盖率

作为 0.8.0 中的另一个示例,有

在创建报告期间,各种编译器生成的工件被过滤掉,否则需要不必要的,有时是不可能的技巧来避免部分或遗漏的覆盖

另请参见例如https://stackoverflow.com/a/42680333/244993 ,其中显示了不同版本之间数字不同的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM