Android Studio 1.4代码覆盖率
我在获取项目的代码覆盖率方面遇到了一些困难。我的单元和UI测试放在“androidTest”文件夹中。测试运行平稳,但当我尝试获取代码覆盖率时(既使用覆盖率运行,也使用CLI中的./gradlew createDebugCoverageReport运行),我会得到不同类型的错误 这是我的身材,格雷德尔Android Studio 1.4代码覆盖率,android,unit-testing,gradle,code-coverage,jacoco,Android,Unit Testing,Gradle,Code Coverage,Jacoco,我在获取项目的代码覆盖率方面遇到了一些困难。我的单元和UI测试放在“androidTest”文件夹中。测试运行平稳,但当我尝试获取代码覆盖率时(既使用覆盖率运行,也使用CLI中的./gradlew createDebugCoverageReport运行),我会得到不同类型的错误 这是我的身材,格雷德尔 apply plugin: 'com.android.application' apply plugin: 'jacoco' android { compileSdkVersion 22
apply plugin: 'com.android.application'
apply plugin: 'jacoco'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
testCoverageEnabled = true
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
jacoco {
version "0.7.1.201405082137"
}
}
dependencies {
compile 'junit:junit:4.12'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.android.support:design:22.2.1'
compile 'com.android.support:recyclerview-v7:22.2.+'
compile 'com.android.support:cardview-v7:22.0.+'
compile 'com.mcxiaoke.volley:library:1.0.19'
compile 'com.github.bmarrdev:android-DecoView-charting:v0.9.3'
compile 'com.github.PhilJay:MPAndroidChart:v2.1.5'
compile 'com.wefika:horizontal-picker:1.1.0'
compile 'info.hoang8f:android-segmented:1.0.6'
compile 'com.google.guava:guava:18.0'
testCompile 'com.android.support.test:testing-support-lib:0.1'
testCompile 'com.android.support:support-annotations:22.0.1'
testCompile 'com.android.support.test:runner:0.4.1'
testCompile 'com.android.support.test:rules:0.4.1'
testCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
testCompile 'org.hamcrest:hamcrest-library:1.3'
androidTestCompile 'com.android.support:support-annotations:22.0.1'
androidTestCompile 'com.android.support.test:runner:0.4.1'
androidTestCompile 'com.android.support.test:rules:0.4.1'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
androidTestCompile ('com.android.support.test.espresso:espresso-contrib:2.0') {
exclude group: 'com.android.support', module: 'appcompat'
exclude group: 'com.android.support', module: 'support-v4'
exclude module: 'recyclerview-v7'
}
}
请让我知道如何为“androidTest”文件夹中的InstrumentationTestCase和ActivityInstrumentationTestCase2设置代码覆盖率
谢谢 这就是我如何在build.gradle(app)文件中设置jacoco的方法。它运行良好,没有任何问题。设置是为了使用JUnit4.12进行单元测试。希望这有帮助
jacoco {
toolVersion = "0.7.1.201405082137"
}
def coverageSourceDirs = {
'../app/src'
}
task jacocoTestReport(type: org.gradle.testing.jacoco.tasks.JacocoReport, dependsOn: "test"){
group = "Reporting"
description = "Generate Jacoco coverage reports"
classDirectories = fileTree(
dir: '../app/build/intermediates/classes',
excludes: ['**/R.class',
'**/R$.class',
'**/*$ViewInjector*.*',
'**/BuildConfig.*',
'**/Manifest*.*']
)
additionalSourceDirs = files(coverageSourceDirs)
sourceDirectories = files(coverageSourceDirs)
executionData = files('../app/build/jacoco/testDebugUnitTest.exec')
reports {
xml.enabled = true
html.enabled = true
}
}