0

我们已经从antBuild 工具迁移到 Gradle,并且也将0.7.4 jacoco版本升级到了最新0.8.6版本。

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

在此处输入图像描述

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

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

 }

蚂蚁编译

<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>

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

4

1 回答 1

1

我确保 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,它显示了不同版本之间数字不同的示例。

于 2021-02-10T11:56:49.540 回答