【发布时间】:2016-11-22 16:38:26
【问题描述】:
我正在尝试生成 jacoco 报告,但是当我将 testCoverageEnabled 属性设置为 true 时,我不断收到错误消息。
java.lang.NoSuchMethodError: No static method $jacocoInit()[Z in class L...
删除 testCoverageEnabled 属性我可以运行测试,但无法生成报告。
我使用的是标准 Jacoco 配置。单元测试和集成测试在独立运行时可以正常运行。
所有对此问题的在线参考似乎都是项目中的特定配置问题。任何帮助表示赞赏。
更新
apply plugin: 'jacoco'
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: "${buildDir}/intermediates/classes/debug", excludes: fileFilter)
def mainSrc = "${project.projectDir}/src/main/java"
sourceDirectories = files([mainSrc])
classDirectories = files([debugTree])
executionData = fileTree(dir: "$buildDir", includes: [
"jacoco/testDebugUnitTest.exec",
"outputs/code-coverage/connected/*coverage.ec"
])
}
【问题讨论】:
-
您能展示一下您的 jacoco 配置吗?
-
@Artyom,更新在
-
你使用什么工具版本?
-
当前使用23.0.3
-
我的意思是 jacoco toolVersion。
标签: android jacoco test-coverage