首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FileNotFound Jacoco / Gradle

FileNotFound Jacoco / Gradle
EN

Stack Overflow用户
提问于 2015-06-23 12:05:35
回答 1查看 533关注 0票数 0

我有以下设置:

代码语言:javascript
复制
apply plugin: 'jacoco'

jacoco {
    toolVersion = "0.7.1.201405082137"
}

def coverageSourceDirs = [
    '../app/src/main/java'
]

和下列任务:

代码语言:javascript
复制
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
    }
}

但在执行时:

代码语言:javascript
复制
gradle jacocoTestReport --stacktrace --debug --info

我一直得到:

代码语言:javascript
复制
app/build/jacoco/testDebug.exc (No such file or directory)

但是:

代码语言:javascript
复制
clean createStagingDebugCoverageReport --stacktrace

效果很好。我试图使用一个自定义任务从覆盖率报告中省略一些不必要的类。如果不生成exec文件,我做错了什么?/如何找到它们在包中的位置?我已经查看了build目录文件夹,只是找不到它们。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-24 12:59:21

因此,它是一个填充在/build/outputs/code-coverage/connected/flavors/staging/中的.ec文件,我不得不调整测试以查看'../app/build/intermediates/coverage-instrumented-classes/classes/staging/debug‘来生成报告,但是我终于得到了它

代码语言:javascript
复制
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
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31002340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档