gpt4 book ai didi

java - JAVA Jacoco错误的线路覆盖率

转载 作者:行者123 更新时间:2023-12-03 03:25:59 26 4
gpt4 key购买 nike

我正在尝试使用Jacoco获得Java 8项目的代码覆盖率。
由于某种原因,我看到线路覆盖率低。

Gradle 版本:4.8.1

Gradle.build

apply plugin: "java"
apply plugin: "jacoco"

jacoco {
toolVersion = "0.8.5 "
reportsDir = file("$buildDir/customJacocoReportDir")
}
jacocoTestReport {
reports {
xml.enabled false
csv.enabled false
html.destination file("${buildDir}/jacocoHtml")
}
}
dependencies {
testCompile group: 'org.easymock', name: 'easymock', version: '3.6'
testCompile group: 'org.powermock', name: 'powermock-easymock-release-full', version: '1.6.4'
}

当我使用Java调试器时,在测试过程中看到以下行有命中之处:
public class RangeStateStore {
public void setRangeState(KeyValueStore<String, RangeStateObj> kvStorage, RangeStateObj rangeStateObj) {
kvStorage.put(rangeStateObj.key, rangeStateObj);
}

但在报道中:
Jacoco coverage

当我使用IntelliJ Coverage运行Coverage时,它很受欢迎:
IntelliJ coverage

有想法吗?

最佳答案

就像一个想法:

我假设您正在将jacoco作为Java代理(运行时工具)运行。
在这种情况下,在jacoco进行的字节码检测和PowerMock进行的字节码修改之间可能存在一个类。

结果,未涵盖的类很可能是使用PowerMock类加载器加载的类。

参见this explanation

关于java - JAVA Jacoco错误的线路覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59918367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com