Ich versuche, den jacoco zu verwenden, um Codeabdeckung zu erzeugen. Wenn ich jedoch den Befehl ./gradlew tasks
ausführe, sehe ich keine Tasks namens jacocoTestReport
.
Ich erhalte den folgenden Fehler, wenn ich versuche, die Aufgaben ./gradlew jacocoTestReport
:
Task 'jacocoTestReport' wurde nicht im Root-Projekt 'EnumSample' gefunden
Dies ist meine build.gradlew Datei:
%Vor%Ich habe versucht, das Projekt zu säubern und neu aufzubauen. Die Berichtsaufgabe ist jedoch nicht vorhanden.
Vielen Dank für Anregungen.
Sie suchen nach einer falschen Aufgabe, die ausgeführt werden soll. Wenn Sie ./gradlew tasks
ausführen, können Sie create Flavor CoverageReport Aufgaben finden:
Nach der Ausführung von ./gradlew createDevDebugCoverageReport
mit dem Setup, das Sie in der Frage erwähnt haben, konnte ich den erzeugten Bericht im /app/build/reports/dev/debug
Verzeichnis finden.
Es gibt einige Dinge, die wir bei der Verwendung von jacoco report wie folgt beachten müssen:
Testabdeckung in app / build.gradle aktiviert
%Vor%Aufgabe für jacoco-Bericht erstellen
%Vor%Befehl "Gradle" für den jacoco-Bericht
./gradlew sauber jacocoTestReport
Hier finden Sie den jacoco-Bericht
Generierter jacoco-Berichtspfad nach erfolgreicher Ausführung von jacocoTestReport.
app / build / reports / coverage / debug / index.html
Außerdem habe ich ein androide jacoco-ähnliches Sample-Repository erstellt, in das Sie schauen können.
Stellen Sie außerdem sicher, dass Sie den Befehl Gradle im Anwendungsverzeichnis ausführen.
Versuchen Sie das oben genannte Beispielrepository als Referenz. Ich habe das mit null Komplexitäten erstellt, damit jeder es benutzen kann.
Es gibt zwei Dinge:
Sie müssen die Code-Coverage aktivieren , um den Build-Typ zu unterstützen Sie werden mit testen. Ihr build.gradle
sollte Folgendes enthalten (Was Sie bereits enthalten haben):
gradle testBlueDebugUnitTestCoverage
aus, und Sie sehen sie in "build / reports / jacoco / testBlueDebugUnitTestCoverage /"
Verwenden Sie Gradle-Plugin , das JaCoCo-Berichte generiert:
Richten Sie es wie folgt ein:
%Vor%Eine andere Lösung für die Ausgabe von hier :
%Vor%Tags und Links android gradle unit-testing code-coverage jacoco