【问题标题】:Android Instrumented Tests coverage exclude fliesAndroid Instrumented Tests 覆盖范围不包括苍蝇
【发布时间】:2016-01-19 20:48:06
【问题描述】:

我使用“gradlew createDebugCoverageReport”运行我的测试。我的问题是覆盖率报告包括我拥有的每个源文件。我想排除一些文件。我将此添加到我的 build.gradle 但它不起作用:

sourceSets {
    androidTest {
        java
                {
                    exclude '**/TouchImageView.java'
                }
    }
}

【问题讨论】:

标签: java android unit-testing testing instrumentation


【解决方案1】:

您必须在 build.gradle 的开头添加 jacoco 插件

apply plugin: 'jacoco'

然后使用testCoverageEnabled true 即启用覆盖

buildTypes {
        release {
            ...
        }
        debug {
            testCoverageEnabled true
        }
    }

并创建任务jacocoTestReport

task jacocoTestReport(type:JacocoReport, dependsOn: "connectedDebugAndroidTest") {

    group = "Reporting"

    description = "Generate Jacoco coverage reports"

    // exclude auto-generated classes and tests
    def fileFilter = ['**/R.class',
                      '**/R$*.class',
                      '**/BuildConfig.*',
                      '**/Manifest*.*',
                      '**/*IScript*.*',
                      'android/**/*.*',
                      '**/*_Factory*',
                      '**/*_MembersInjector*',
                      '**/*Fake*']

    def debugTree = fileTree(dir:
            "${project.buildDir}/intermediates/classes/debug",
            excludes: fileFilter)

    def mainSrc = "${project.projectDir}/src/main/java"

    sourceDirectories = files([mainSrc])
    classDirectories = files([debugTree])

    executionData = fileTree(dir: project.projectDir, includes:
            ['**/*.exec', '**/*.ec'])

    reports {
        xml.enabled = true
        xml.destination = "${buildDir}/jacocoTestReport.xml"
        csv.enabled = false
        html.enabled = true
        html.destination = "${buildDir}/reports/jacoco"
    }
}

将您的排除项添加到 fileFilter 数组。 然后运行报告:

$ gradle jacocoTestReport

【讨论】:

    猜你喜欢
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 2016-04-16
    相关资源
    最近更新 更多