code it

Martins Tech Blog

Code Coverage Reports für UnitTests in Android Studio

Android Studio unterstützt automatisiertes Testen bereits out-of-the-box. Dabei wird grundsätzlich zwischen verschiedenen Arten von Tests unterschieden. Eine detaillierte Beschreibung findet man im Testing-Abschnitt der Doku.

Nach dem Durchführen der Tests erhält man einen Testreport und (sofern aktiviert) auch einen mit JaCoCo erzeugten Coverage-Report. Allerdings war das Android-Studio-Team hier nicht ganz so konsequent, denn die Coverage-Reports werden für UnitTests nicht erzeugt. Hier spiegeln sich lediglich die Android-Tests wider.

Wie kann man nun erreichen, dass meine ganz normalen Unit-Tests mit JUnit auch einen solchen Coverage-Report erzeugen. In meinem Projekt habe ich nämlich lediglich JUnit-Tests und ich mocke den ganzen Android-Kram mit Hilfe von Robolectric und Mockito - was zugegebenermaßen dafür sorgt, dass ich keine Integrationstests habe, aber dafür eben die Funktionen sauber getestet sind ohne dass ich ich auf einen Emulator verlassen muss.

Nach stundenlangem Suchen in ähnlich gelagerten Problemen auf Stackoverflow bin ich dann in den Kommentaren auf ein Plugin gestoßen, das mein Build-Script genau mit den erforderlichen Funktionalitäten erweitert wird - und seit der Version 0.2.1, welche derzeit bereits als Snapshot vorliegt werden auch Intermediates ignoriert, die "$$" im Dateinamen haben.
Sie benötigen Unterstützung bei der Umsetzung Ihrer Projekte?
Ich bin käuflich. Nehmen Sie mit mir Kontakt auf.

Kommentar schreiben

Loading