[英]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.