Jacoco代码覆盖率一直运行良好,直到我将Android Gradle 插件升级到4.2.0,不仅生成了应用程序模块代码覆盖率,对于模块它不起作用。任何想法如何解决这个问题。
问问题
1024 次
2 回答
6
升级到 4.2.1 后我遇到了同样的问题。
看起来非仪表化单元测试的 Jacoco 执行数据文件已重命名为“jacoco.exec”,并移至模块的顶级目录。
在我的 JacocoReport gradle 任务的配置中,这对我有用:
executionData.from = "${project.projectDir}/jacoco.exec"
注意:仪器测试的执行数据文件没有被重命名或移动。
于 2021-05-20T18:26:59.903 回答
3
基于惊人的 Richard回答,如果您以前有此设置(这对于在 Android 中使用 Jacoco 进行的单元和仪器测试非常标准)
executionData.from = fileTree(dir: project.buildDir, includes: [
"jacoco/${testTaskName}.exec",
"outputs/code_coverage/${variantName}AndroidTest/connected/**/*.ec"
])
您可以切换到 AGP 4.2.X 的等效版本
executionData.from = files([
"$project.projectDir/jacoco.exec",
fileTree(dir: project.buildDir, includes: [
"outputs/code_coverage/${variantName}AndroidTest/connected/**/*.ec"
])
])
于 2021-06-17T11:18:58.520 回答