Ich habe versucht, Jacoco Testabdeckung für einige Zeit ruhig jetzt laufen. Ich habe in diesen Themen berichteten mehrere mögliche Lösungen versucht:Jacoco Code Abdeckung in Android Studio mit Aromen
Android test code coverage with JaCoCo Gradle plugin
How do I get a jacoco coverage report using Android gradle plugin 0.10.0 or higher?
Im die Tests in einem emulatated Gerät läuft genymotion verwenden. Hier ist, was ich build.gradle hinzugefügt:
apply plugin: 'jacoco'
android{
jacoco {
version "0.7.1.201405082137"
}
buildTypes{
debug{
testCoverageEnabled = true
}
}
}
jacoco {
toolVersion "0.7.1.201405082137"
}
es auszuführen verwende ich so etwas wie
./gradlew clean
./gradlew createFLAVOR_NAMEDebugCoverageReport
Die entsprechende generierten Dateien/Ordner sind:
/build/intermediates/coverage-instrumented-classes
/build/intermediates/jacoco
/build/outputs/code-coverage/connected/flavors/MyFlavor/coverage.ec
Allerdings gibt ist nichts @ build/reports/jacoco/test/html/index.html oder irgendein HTML-Seite/Code Coverage Report @/Build/Ausgaben.
Ich habe auch versucht, eine spezielle Aufgabe zu erstellen Berichterstattung Bericht zu erstellen:
def coverageSourceDirs = [
'src/main/java',
]
task jacocoTestReport(type: JacocoReport, dependsOn: "connectedAndroidTestFLAVOR_NAMEDebug") {
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
reports {
xml.enabled = true
html.enabled = true
}
classDirectories = fileTree(
dir: './build/intermediates/classes/debug',
excludes: ['**/R*.class',
'**/*$InjectAdapter.class',
'**/*$ModuleAdapter.class',
'**/*$ViewInjector*.class'
])
sourceDirectories = files(coverageSourceDirs)
executionData = files("$buildDir/jacoco/connectedAndroidTestMyFlavorDebug.exec")
// Bit hacky but fixes https://code.google.com/p/android/issues/detail?id=69174.
// We iterate through the compiled .class tree and rename $$ to $.
doFirst {
new File("$buildDir/intermediates/classes/").eachFileRecurse { file ->
if (file.name.contains('$$')) {
file.renameTo(file.path.replace('$$', '$'))
}
}
}
}
Dann ./gradlew sauber und ./gradlew jacocoTestReport. Die Ausgabe ist die gleiche wie oben, also keine HTML-Seite mit Deckungsbericht oder eine andere Coverage-Datei.
Ich verwende derzeit Android Studio v1.0.2 mit der neuesten Version. Ich bin ziemlich neu zu groß, so ist es möglich, dass ich etwas Grundlegendes hier vermisse.
Dank
https://github.com/bumptech/glide/blob/master/library/build.gradle Sampl mit Ihrem Werkzeug. –
mögliches Duplikat von [Wie bekomme ich Code-Coverage mit Android Studio?] (Http://stackoverflow.com/questions/18683022/how-to-get-code-coverage-using-android-studio) – 030