执行connectedCheck后,Realm生成的类包含在coverage报告中

问题描述 投票:0回答:1

问题是Jacoco在执行启用测试覆盖的./gradlew connectedCheck后报告Realm生成的类。

Realm生成大量代码,这使得覆盖报告不可靠。

这就是测试覆盖率的样子:Actual coverage report

io.realm报告中删除connectedCheck包的最简单方法是什么?

android testing gradle realm jacoco
1个回答
1
投票

如果我拿Google GithubBrowserSample into account which has the following task in its build.gradle

task fullCoverageReport(type: JacocoReport) {
    dependsOn 'createDebugCoverageReport'
    dependsOn 'testDebugUnitTest'
    reports {
        xml.enabled = true
        html.enabled = true
    }

    def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*',
                      '**/*Test*.*', 'android/**/*.*',
                      '**/*_MembersInjector.class',
                      '**/Dagger*Component.class',
                      '**/Dagger*Component$Builder.class',
                      '**/*_*Factory.class',
                      '**/*ComponentImpl.class',
                      '**/*SubComponentBuilder.class']
    def debugTree = fileTree(dir: "${buildDir}/intermediates/classes/debug", excludes: fileFilter)
    def mainSrc = "${project.projectDir}/src/main/java"

    sourceDirectories = files([mainSrc])
    classDirectories = files([debugTree])
    executionData = fileTree(dir: "$buildDir", includes: [
            "jacoco/testDebugUnitTest.exec",
            "outputs/code-coverage/connected/*coverage.ec"
    ])
}

你很可能会添加一个文件过滤器,如io.realm.*RealmProxy.class

© www.soinside.com 2019 - 2024. All rights reserved.