【发布时间】:2020-07-05 12:05:26
【问题描述】:
我关注 this 的帖子为我的项目设置 Jacoco 代码覆盖率。
但是我在编写生成报告的任务时遇到了错误。
Gradle 任务
task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) {
reports {
xml.enabled = true
html.enabled = true
}
def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*']
def debugTree = fileTree(dir: "$project.buildDir/intermediates/javac/debug", excludes: fileFilter)
def mainSrc = "$project.projectDir/src/main/java"
sourceDirectories = files([mainSrc])
classDirectories = files([debugTree])
executionData = fileTree(dir: project.buildDir, includes: [
'jacoco/testDebugUnitTest.exec', 'outputs/code_coverage/debugAndroidTest/connected/**/*.ec'
])
}
我得到的错误是:
无法设置只读属性“sourceDirectories”的值 任务 ':app:jacocoTestReport' 类型 org.gradle.testing.jacoco.tasks.JacocoReport。
我相信下面的字段在jacoco 中是私有的。
- 源目录
- 类目录
- 执行数据
我的依赖:classpath "org.jacoco:org.jacoco.core:0.8.4"
另外,我尝试更改版本但没有帮助。
【问题讨论】:
标签: android gradle jacoco test-coverage