Android Studio - 使用Espresso时的代码覆盖率

时间:2016-04-07 16:11:15

标签: android jacoco android-espresso

我正在构建一个Android Studio应用程序,我想为使用Espresso的检测测试生成一些代码覆盖率统计信息。

我正在从命令行运行./gradlew createDebugCoverageReport。它成功地报告了哪些测试通过/失败,但它总是说我有0%的代码覆盖率。生成的coverage.ec文件始终为空。

这是我的build.grade

apply plugin: 'com.android.application'
apply plugin: 'jacoco'

android {
    compileSdkVersion 21
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "exampleId"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    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'
    androidTestCompile 'junit:junit:4.12'
    testCompile 'junit:junit:4.12'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2'
}


configurations.all {
    resolutionStrategy.force 'com.android.support:support-annotations:22.1.0'
}

我很确定它与Espresso有关,因为我创建了另一个项目,只要我排除

,一切正常
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2'

覆盖率报告已成功生成。

我在网上广泛浏览了这个,但我找不到适合我的解决方案。

感谢任何建议。

感谢。

更新

非常感谢艾玛!更新后

androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2'

androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'

代码覆盖率报告正确显示。我不知道最初的问题是什么,但这似乎已经解决了。

0 个答案:

没有答案