簡體   English   中英

忽略jacoco測試覆蓋率中的失敗測試

[英]Ignore failing test in jacoco test coverage

我正在使用robolectric進行單元測試和儀器測試,以測試android應用程序。 我已經啟用了jacoco測試覆蓋率插件來提供覆蓋率報告,但是當至少有一個失敗的測試時,它不會創建。 在jacoco中如何忽略失敗?

這是我的gradle.build

apply plugin: 'com.android.application'

    android {
        jacoco {
            version = '0.7.3.201502191951'
        }

        testOptions {
            unitTests.returnDefaultValues = true
        }

        compileSdkVersion 22
        buildToolsVersion '22.0.1'

        defaultConfig {
            applicationId "com.nitralabs.m1_mm"
            minSdkVersion 12
            targetSdkVersion 18
        }

        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
            debug {
                testCoverageEnabled = true
            }
        }

    ...
    }

    dependencies {
        testCompile 'org.robolectric:robolectric:3.0'
        testCompile 'junit:junit:4.12'
        ...
    }

    task jacocoReport << {
        ant {
            taskdef(name: 'jacocoreport',
                    classname: 'org.jacoco.ant.ReportTask',
                    classpath: configurations.jacocoReport.asPath,
                    ignoreFailures: true, i)

            mkdir dir: "${buildDir}/test-coverage-report"
            mkdir dir: "${buildDir}/reports/jacoco/test/"

            jacocoreport {
                executiondata {
                    fileset dir: "${buildDir}/jacoco"
                }

                structure(name: "${rootProject.name}") {
                    classfiles {
                        fileset(dir: "${buildDir}/intermediates/classes/debug") {
                            exclude(name: '**/R.class')
                            exclude(name: '**/R$*.class')
                        }
                    }

                    sourcefiles {
                        fileset dir: "src/main/java"
                        fileset dir: 'build/generated/source/buildConfig/debug'
                    }
                }

                xml destfile: "${buildDir}/reports/jacoco/test/jacocoTestReport.xml"
                html destdir: "${buildDir}/test-coverage-report/"
            }
        }
    }

    project.afterEvaluate {
        def append = "append=true"
        def destFile = "destfile=$buildDir/outputs/code-coverage/connected/coverage.ec"
        testDebug.jvmArgs "-javaagent:$buildDir/intermediates/jacoco/jacocoagent.jar=$append,$destFile"
        createDebugCoverageReport.dependsOn testDebug
    } 

這是我忽略忽略單元測試的相關配置

android {

 testOptions {
    unitTests.all {
        setIgnoreFailures(true)
    }
}

buildTypes {
    debug {
        testCoverageEnabled true
        }
    }
}       

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM