Getestet mit:Raspberry Pi 2; Raspberry Pi B+; Python 2.7; Raspbian pre Jessie
Voraussetzungen:Python Projektaufbau fuer Test-Driven Development
0

Professionell programmieren auf dem Raspberry Pi mit Coverage

Software Tests sind integraler Bestandteil der modernen Softwareentwicklung. Gute Tests sind besonders wichtig fuer den Raspberry Pi: da Sensoren, Aktuatoren und zeit- sowie signalabhaengiges Verhalten sehr schwierig bis unmoeglich zu testen sind, sollte zumindest alles algorithmische sicher in Tests eingebettet sein.
Coverage wurde entwickelt von Ned Batchelder und zeigt die graphische Darstellung der von den Tests derzeit abgedeckten Programmteile.

Dieses Tutorial zeigt die Verwendung von Coverage nach der Installation des Beispielprojektes der Voraussetzungen.

Dateien von Coverage ausschliessen
Oeffne .coveragerc mit

Darin koennen Dateien von der Abdeckungsmessung ausgeschlossen werden, beispielsweise die Tests selbst. Fuege die entsprechenden Dateinamen(oder Abkuerzungen mit *) zeilenweise unter omit ein:

Zum Ausschliessen einzelner Codezeilen von Coverage sind diese mit # pragma:no cover zu markieren, zum Beispiel

Coverage starten

Ergebnisse auf den Festrechner kopieren
Kopiere das Verzeichnis ~/MyProject_tdd/htmlcov per scp auf den Festrechner mit

Ergebnisse untersuchen
Die Ergebnisse sind in file:///home/BENUTZERNAME/htmlcov/index.html; gib diesen Pfad in die Adressleiste des Browsers ein. So sollte das Ergebnis aussehen(mit Prozentangabe, wieviele Zeilen jedes Scripts von den Tests abgedeckt werden):

Clickable browser representation of the code coverage

Klickbare HTML-Darstellung der Ergebnisse von Coverage

Nach Klick auf ein Script wird die Testabdeckung des Scripts zeilenweise dargestellt(mit getesteten Zeilen in gruen und ungetesteten in rot):
Detailed output of a coverage test run with line wise result

Detailausgabe der Ergebnisse von Coverage

Links
Ned Batchelder - Website: http://nedbatchelder.com
Dateitransfer mit SCP: http://www.knight-of-pi.org/de/datentransfer-zwischen-festrechner-und-raspberry-pi-mit-scp/

Knight of Pi

Johannes Bergs aka Knight of Pi. Diploma in Bioinformatics, some Webdesign and Python coding then. Living in the beautiful city of Vienna.

Kommentar

Time limit is exhausted. Please reload CAPTCHA.