Coverage.py: Python-Codeabdeckung mit Tests prüfen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist Coverage.py?

Coverage.py ist ein leistungsstarkes Tool zur Analyse der Codeabdeckung durch Tests in Python. Es hilft Entwicklern zu ermitteln, welche Teile ihres Codes während der Tests ausgeführt wurden und welche ungenutzt blieben. Dieses Tool ist ein wesentlicher Bestandteil des Qualitätssicherungsprozesses und deckt potenzielle Lücken in der Testabdeckung auf.

Das Hauptziel von Coverage.py ist es, detaillierte Informationen darüber zu liefern, wie vollständig Ihre Tests den geschriebenen Code abdecken. Das Tool analysiert die Programmausführung und erstellt Berichte, die den Abdeckungsgrad für jede Datei, jedes Modul oder sogar einzelne Codezeilen anzeigen.

Schlüsselfunktionen von Coverage.py

Coverage.py bietet eine breite Palette von Funktionen zur Analyse der Codeabdeckung:

Zeilenabdeckung messen — die Basisfunktion, die verfolgt, welche Codezeilen während der Tests ausgeführt wurden.

Branch-Analyse — eine erweiterte Funktion, die prüft, ob alle möglichen Ausführungspfade in Bedingungen (if, elif, else) durchlaufen wurden.

Berichte generieren — Erstellung detaillierter Berichte in verschiedenen Formaten: Text, HTML, XML, JSON.

Framework-Integration — nahtlose Zusammenarbeit mit gängigen Test-Frameworks wie pytest, unittest und nose.

Ausschlussregeln — die Möglichkeit, bestimmte Dateien, Ordner oder Zeilen von der Abdeckungsanalyse auszuschließen.

Installation und erste Einrichtung

Standardinstallation

Installieren Sie Coverage.py mit pip:

pip install coverage

Installation mit Zusatzfunktionen

Wenn Sie mit pytest arbeiten, empfiehlt sich die Installation des Plugins pytest-cov:

pip install pytest-cov

Für die Arbeit mit TOML-Konfigurationsdateien:

pip install coverage[toml]

Installation prüfen

Überprüfen Sie nach der Installation, ob Coverage.py korrekt funktioniert:

coverage --version

Wichtige Befehle und ihre Verwendung

Abdeckungsanalyse starten

Grundlegender Start der Abdeckungsanalyse für ein Python-Skript:

coverage run my_script.py

Starten mit zusätzlichen Parametern:

coverage run --source=my_package my_script.py

Starten mit dem unittest-Modul

coverage run -m unittest discover

Starten mit pytest

coverage run -m pytest

Oder mit pytest-cov:

pytest --cov=my_module tests/

Abdeckungsbericht anzeigen

Textbericht im Terminal

coverage report

Beispielausgabe:

Name                 Stmts   Miss  Cover
----------------------------------------
my_module.py            25      3    88%
utils.py                15      0   100%
main.py                 20      5    75%
----------------------------------------
TOTAL                   60      8    87%

Detailbericht mit fehlenden Zeilen

coverage report --show-missing

HTML-Bericht

coverage html

Öffnen Sie nach der Ausführung die Datei htmlcov/index.html im Browser, um den interaktiven Bericht anzuzeigen.

XML-Bericht für CI/CD

coverage xml

JSON-Bericht

coverage json

Abdeckungsdaten verwalten

Daten löschen

                
    
    

Empfehlungen