【问题标题】:Exclude packages from `createDebugCoverageReport` task从“createDebugCoverageReport”任务中排除包
【发布时间】:2021-08-23 19:05:48
【问题描述】:

我在运行createDebugCoverageReport 任务时尝试排除包,但没有成功。我试过这样的解决方案:

并且我尝试编辑任务本身,其中可以选择从覆盖数据中排除包:

【问题讨论】:

    标签: android android-studio testing instrumentation


    【解决方案1】:

    由于某种原因excludes 不起作用,所以我修复了includes。这是代码,它将单元测试和仪器测试结合在一个覆盖率报告中。

    task codeCoverageReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) {
        reports {
            xml.enabled = true
            html.enabled = true
            csv.enabled = true
        }
    
        def includeFiles = [
                '**/database/**/*.*',
                '**/repository/**/*.*',
                '**/network/worker/*.*',
                '**/util/extensions/*.*'
        ]
    
        def mainSrc = "${project.projectDir}/src/main/java"
    
        classDirectories.from =
                fileTree(
                        dir: "$buildDir/intermediates/app_classes/debug",
                        includes: includeFiles
                ) + fileTree(
                        dir: "$buildDir/tmp/kotlin-classes/debug",
                        includes: includeFiles
                )
        sourceDirectories.from = files([mainSrc])
        executionData.from =
                fileTree(dir: "$buildDir", includes: [
                        "jacoco/testDebugUnitTest.exec",
                        "outputs/code_coverage/debugAndroidTest/connected/*coverage.ec"
                ])
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-16
      • 1970-01-01
      • 1970-01-01
      • 2015-10-26
      • 2013-09-03
      • 2020-03-20
      • 2014-11-21
      相关资源
      最近更新 更多