我有以下设置:
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.7.1.201405082137"
}
def coverageSourceDirs = [
'../app/src/main/java'
]和下列任务:
task jacocoTestReport(type:JacocoReport, dependsOn: "assembleStagingDebugAndroidTest") {
group = "Reporting"
onlyIf = {
true
}
description = "Generate Jacoco coverage reports for staging debug"
classDirectories = fileTree(
dir: '../app/build/intermediates/classes/staging/debug',
excludes: ['**/R.class',
'**/R$*.class',
'**/*$ViewInjector*.*',
'**/*$MembersInjector*.*',
'**/BuildConfig.*',
'**/Manifest*.*']
)
additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData = files('../app/build/jacoco/testDebug.exc')
reports {
xml.enabled = true
html.enabled = true
}
}但在执行时:
gradle jacocoTestReport --stacktrace --debug --info我一直得到:
app/build/jacoco/testDebug.exc (No such file or directory)但是:
clean createStagingDebugCoverageReport --stacktrace效果很好。我试图使用一个自定义任务从覆盖率报告中省略一些不必要的类。如果不生成exec文件,我做错了什么?/如何找到它们在包中的位置?我已经查看了build目录文件夹,只是找不到它们。
提前感谢!
发布于 2015-06-24 12:59:21
因此,它是一个填充在/build/outputs/code-coverage/connected/flavors/staging/中的.ec文件,我不得不调整测试以查看'../app/build/intermediates/coverage-instrumented-classes/classes/staging/debug‘来生成报告,但是我终于得到了它
task jacocoStagingDebugTestReport(type:JacocoReport, dependsOn: ["spoonStagingDebugAndroidTest"]) {
group = "Reporting"
onlyIf = {
true
}
description = "Generate Jacoco coverage reports for staging debug"
classDirectories = fileTree(
dir: '../app/build/intermediates/coverage-instrumented-classes/classes/staging/debug',
excludes: ['/ollie/*$ModelAdapter.*']
)
additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData = files('build/outputs/code-coverage/connected/flavors/staging/coverage.ec')
reports {
xml.enabled = true
html.enabled = true
}
}https://stackoverflow.com/questions/31002340
复制相似问题