我正在构建一个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'
代码覆盖率报告正确显示。我不知道最初的问题是什么,但这似乎已经解决了。