gpt4 book ai didi

java - Gradle Jacoco 插件报告零覆盖率

转载 作者:搜寻专家 更新时间:2023-11-01 03:21:08 25 4
gpt4 key购买 nike

在运行 Gradle 的 Jacoco 插件时,我在一组选定的类上报告的代码覆盖率为零。我已确认测试这些类的所有单元测试已成功运行。

非常有趣的是,Eclipse 中的 EclEmma 生成了正确的代码覆盖率结果。我已确认这两个工具使用的是相同版本的 Jacoco。

我想弄清楚这两种工具之间的区别是什么?我需要 Gradle Jacoco 插件的额外配置吗?

编辑:我的 Gradle Jacoco 输出显示“类 com/.... 的执行数据不匹配”

更新:我在 Eclipse 中打开了 Jacoco 生成的 test.exec 文件。它显示缺少覆盖率的类执行了 80% 的探测。

最佳答案

这可能意味着 jacoco 插件没有在 gradle 中正确配置。在这里您可以找到 Jacoco 和 gradle 的常见错误 list (感谢 Taeho Kim 的明确回答):https://stackoverflow.com/a/23965581/2166900

此外,这是我在上一个 Android 项目中使用的配置,对我有用:

apply plugin: 'jacoco'

jacoco {
toolVersion = "0.7.2.+"
}

def coverageSourceDirs = [
'src/main/java'
]

task jacocoTestReport(type:JacocoReport, dependsOn: "testDebug") {
group = "Reporting"

description = "Generate Jacoco coverage reports"

classDirectories = fileTree(
dir: 'build/intermediates/classes/debug',
excludes: ['**/R.class',
'**/R$*.class',
'**/*$ViewInjector*.*',
'**/BuildConfig.*',
'**/Manifest*.*']
)

additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData = files('build/jacoco/testDebug.exec')

reports {
xml.enabled = false
html.enabled = true
}
}

关于java - Gradle Jacoco 插件报告零覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30382982/

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