Generieren Sie Berichte zur GCC-Codeabdeckung
Website und Dokumentation • Bugtracker • GitHub
Gcovr bietet ein Dienstprogramm zum Verwalten der Verwendung des GNU-Dienstprogramms gcov und zum Generieren zusammengefasster Ergebnisse der Codeabdeckung. Dieser Befehl ist vom Python-Paket cover.py inspiriert, das ein ähnliches Dienstprogramm für Python bereitstellt.
Der Befehl gcovr
kann verschiedene Arten von Abdeckungsberichten erstellen:
CLI-Option | Benutzerhandbuch | Beschreibung |
---|---|---|
Standard: --txt | Textausgabe | kompakte, für Menschen lesbare Zusammenfassungen |
--html | HTML-Ausgabe | Übersicht aller Dateien |
--html-details | HTML-Ausgabe | kommentierte Quelldateien |
--html-template-dir | HTML-Ausgabe | Verwenden Sie einen benutzerdefinierten Satz von Jinja2-Vorlagen |
--csv | CSV-Ausgabe | CSV-Bericht, der die Abdeckung jeder Datei zusammenfasst |
--json | JSON-Ausgabe | JSON-Bericht mit Struktur und Abdeckung der Quelldatei |
--json-summary | JSON-Ausgabe | Zusammenfassender JSON-Abdeckungsbericht |
--clover | Clover XML-Ausgabe | maschinenlesbare XML-Berichte im Clover-Format |
--cobertura | Cobertura XML-Ausgabe | maschinenlesbare XML-Berichte im Cobertura-Format |
--coveralls | Overalls JSON-Ausgabe | Maschinenlesbarer JSON-Bericht im Coveralls-Format |
--jacoco | JaCoCo XML-Ausgabe | maschinenlesbare XML-Berichte im JaCoCo-Format |
--lcov | LCOV-Info-Ausgabe | Maschinenlesbarer Bericht im LCOV-Infoformat |
--sonarqube | SonarQube XML-Ausgabe | maschinenlesbare XML-Berichte im SonarQube-Format |
Daher kann gcovr als Befehlszeilenalternative zum Dienstprogramm lcov betrachtet werden, das gcov ausführt und einen HTML-formatierten Bericht generiert. Die Entwicklung von gcovr wurde durch den Bedarf an Textzusammenfassungen und XML-Berichten motiviert.
Beispiel einer HTML-Zusammenfassung:
Beispiel-HTML-Details:
Gcovr ist als Python-Paket verfügbar, das über pip installiert werden kann.
Installieren Sie die neueste stabile gcovr
Version von PyPI:
pip install gcovr
Installieren Sie die Entwicklungsversion von GitHub (benötigt mindestens Version 21.3 von pip):
pip install git+https://github.com/gcovr/gcovr.git
GCC kann die ausführbaren Dateien instrumentieren, um Abdeckungsdaten auszugeben. Sie müssen Ihren Code mit den folgenden Flags neu kompilieren:
--coverage -g -O0
Führen Sie als Nächstes Ihre Testsuite aus. Dadurch werden Rohabdeckungsdateien generiert.
Rufen Sie abschließend gcovr auf. Dadurch wird ein tabellarischer Bericht auf der Konsole gedruckt.
gcovr
Sie können auch detaillierte oder verschachtelte HTML-Berichte erstellen:
gcovr --html-details cover.html gcovr --html-nested Coverage.html
Gcovr erstellt einen HTML-Bericht pro Quelldatei und für --html-nested
auch pro Verzeichnis neben der Coverage.html-Zusammenfassung.
Sie sollten gcovr aus dem Build-Verzeichnis ausführen. Die Option -r
sollte auf das Stammverzeichnis Ihres Projekts verweisen. Dies ist nur wichtig, wenn Sie ein separates Build-Verzeichnis haben. Zum Beispiel:
CD-Build; gcovr -r ..
Für eine vollständige Dokumentation lesen Sie das Handbuch.
Wenn Sie einen Fehler melden oder zur gcovr-Entwicklung beitragen möchten, lesen Sie bitte zuerst unsere Beitragsrichtlinien: https://gcovr.com/en/latest/contributing.html
Diese Software wird unter der 3-Klausel-BSD-Lizenz vertrieben. Weitere Informationen finden Sie unter https://gcovr.com/en/latest/license.html#license-terms. Die vollständige Liste der Mitwirkenden finden Sie unter https://gcovr.com/en/latest/license.html#acknowledgements.