FileNotFound Jacoco / Gradle
FileNotFound Jacoco / Gradle
我有以下设置:
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 文件我做错了什么/我如何找到它们在我的包中的位置?我查看了构建目录文件夹,但没有找到它们。
提前致谢!
所以它是一个 .ec 文件塞在 /build/outputs/code-coverage/connected/flavors/staging/ 中,我不得不调整测试以查看 '../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
}
}
我有以下设置:
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 文件我做错了什么/我如何找到它们在我的包中的位置?我查看了构建目录文件夹,但没有找到它们。
提前致谢!
所以它是一个 .ec 文件塞在 /build/outputs/code-coverage/connected/flavors/staging/ 中,我不得不调整测试以查看 '../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
}
}