Jacoco Konvertieren von coverage.ec in Berichte ohne coverage.em

Ich konnte den Bericht zur Codeabdeckung wie folgt abrufen:

Ermöglichen Sie die Abdeckung für den gewünschten Build-Typ (z. B. Debug)

buildTypes { debug { testCoverageEnabled true } }

Apply Jacoco Plugin und Version einstellen

apply plugin: 'jacoco' jacoco { version "0.7.1.201405082137" }

Lau

./gradlew createDebugCoverageReport

Alle Tests in connectedAndroidTest werden ausgeführt und daraus ein Bericht zur Abdeckung erstellt. Ich kann die Abdeckungsberichte in @ finde

app/build/outputs/reports/coverage/{buildType}/index.html

und eine Datei coverage.ec in

app/build/outputs/code-coverage/connected/coverage.ec

Aber keine jacoco.exec, da ich mit Android Instrumentation anstelle von Robolectric-Testfällen arbeite.

Und wenn ich die Instrumentierung wie folgt von ADB aus starte (ich vermute, dies verwendet Emma immer noch), erhalte ich eine Datei 'coverage.ec' wie folgt:

$ adb shell am instrument -w -e coverage true -e coverageFile /sdcard/coverage.ec com.sample.helloworld.test/.Runner
....
OK (4 tests)

Generated code coverage data to /sdcard/coverage.ec

Aber ich kann die Datei 'coverage.ec' nicht in 'emma' umwandeln, da die Datei 'coverage.em' fehlt.

java -cp ~/adt-bundle-mac-x86_64-20130729/sdk/tools/lib/emma_device.jar emma report -r html -in \
coverage.em,myFile.ec,myapp_coverage1.ec -sp /path/to/myapp/src

Gibt es einen Weg, um dieses Problem zu umgehen ??

Antworten auf die Frage(8)

Ihre Antwort auf die Frage