覆盖率报告称使用gradle对android进行零覆盖

时间:2015-03-11 17:23:32

标签: java android android-gradle jacoco

我无法获得代码覆盖率来处理我的任何Android项目。

为简化起见,我创建了一个新项目(选定的空活动)。 在src / main / java中为项目添加了一个新的实用程序类。

然后我在src / androidTest / java中为它创建了一个单元测试。

更新了gradle文件以启用覆盖率。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.example.michaelkrussel.coverageapp"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }

    jacoco {
        version "0.7.1.201405082137"
    }

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

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
}

我使用./gradlew createDebugCoverageReport运行测试。单元测试显示我创建的测试通过,但覆盖率报告报告零覆盖。

我假设我在gradle文件中丢失了一些内容,或者没有运行正确的gradle任务,但我无法弄清楚是什么。

1 个答案:

答案 0 :(得分:0)

我在我的项目中使用此配置并正常工作!

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.1"

    defaultConfig {
        applicationId "br.com.acs.app"
        minSdkVersion 18
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
        testApplicationId "br.com.acs.app.test"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

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

    packagingOptions {
        exclude 'LICENSE.txt'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'

    androidTestCompile 'junit:junit:4.11'
    androidTestCompile('com.android.support.test:testing-support-lib:0.1') {
        exclude group: 'junit' 
    }
}