2016-10-04 4 views
4

Ich versuche Jacoco auf meinem Android-Projekt, sowohl für Unit-Tests, (test Ordner) und für instrumentierte Prüfungen (androidTest Ordner) zu aktivieren. Wirklich bin ich am instrumentierten Test am meisten interessiert, weil mein Test hier gelegt wird.Jacoco Code Coverage Android Studio nicht als androidTest Ordner

Ich kann beide Arten von Tests mit Erfolg ausführen, aber wenn ich versuche, den Abdeckungsbericht zu erstellen (mit dem Befehl gradlew createDebugCoverageReport), wurden die instrumentierten Tests nicht berücksichtigt.

Auch wenn ich mit der rechten Maustaste auf die Ordner klicken, zeigen nur die Tests innerhalb test Ordner die Option "mit Coverage ausführen", und wenn ich auf "Konfiguration bearbeiten" nur die Konfigurationen unter JUnit haben die "Code Coverage" Registerkarte, nicht in "Android Tests" -Konfigurationen gesehen.

Das ist mein build.gradle:

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

android { 
compileSdkVersion 23 
buildToolsVersion '23.0.2' 

dexOptions { 
    javaMaxHeapSize "4g" 
} 

defaultConfig { 
    applicationId "com.abc.myapp" 
    minSdkVersion 19 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
    // Enabling multidex support. 
    multiDexEnabled true 
//  testInstrumentationRunner 'com.android.test.runner.MultiDexTestRunner' 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
} 

buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     testCoverageEnabled false 
    } 
    debug { 
     debuggable true 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     testCoverageEnabled true 
    } 
} 
compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_7 
    targetCompatibility JavaVersion.VERSION_1_7 
} 

testOptions { 
    unitTests.returnDefaultValues = true 
} 

productFlavors { 
} 

sourceSets { 
    main { 
     resources.srcDirs = ['src/main/java'] 
    } 

    debug.setRoot('build-types/debug') 
    release.setRoot('build-types/release') 
//  androidTest.setRoot('src/androidTest') 
} 
packagingOptions { 
    exclude 'META-INF/DEPENDENCIES.txt' 
    exclude 'META-INF/LICENSE.txt' 
    exclude 'META-INF/NOTICE.txt' 
    exclude 'META-INF/NOTICE' 
    exclude 'META-INF/LICENSE' 
    exclude 'META-INF/DEPENDENCIES' 
    exclude 'META-INF/notice.txt' 
    exclude 'META-INF/license.txt' 
    exclude 'META-INF/dependencies.txt' 
    exclude 'META-INF/LGPL2.1' 
    exclude 'NOTICE' 
    exclude 'LICENSE.txt' 
    exclude 'LICENSE' 
    exclude 'asm-license.txt' 
} 

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

} 

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

androidTestCompile 'com.android.support:support-annotations:24.0.0' 
androidTestCompile 'com.android.support.test:runner:0.5' 
androidTestCompile 'com.android.support.test:rules:0.5' 
// Optional -- Hamcrest library 
androidTestCompile 'org.hamcrest:hamcrest-library:1.3' 
// // Optional -- UI testing with Espresso 
// androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' 
// // Optional -- UI testing with UI Automator 
// androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2' 

androidTestCompile 'org.mockito:mockito-core:1.10.19' 
androidTestCompile 'com.google.dexmaker:dexmaker:1.2' 
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2' 

androidTestCompile 'junit:junit:4.12' 
testCompile 'junit:junit:4.12' 
} 

Antwort

Verwandte Themen