Chromium Chronicle Nr. 18: Chromium-Codeabdeckung

Folge 18: von Veenita Joshi und Prakhar Asthana in Mountain View, Kalifornien (Februar 2021)
Vorherige Folgen

Mit der Testabdeckung wird gemessen, wie viel Quellcode ausgeführt wird, wenn ein bestimmter Test-Suite-Ausführungen. Das Generieren von Abdeckungsdaten umfasst drei wichtige Schritte: Kompilieren mit der Instrumentierung, dem Erfassen von Daten aus laufenden instrumentierten Tests die Nachverarbeitung der Daten. Das Abdeckungsteam verfügt über Tools, mit denen dieser Prozess automatisiert werden kann.

Über das Script zur Abdeckung können Sie mit nur einem Befehl Berichte zur Codeabdeckung generieren, ohne auf die Aktualisierung der Git-Benutzeroberfläche zu warten. Dieses Script wird derzeit unter Linux, Mac, iOS und ChromeOS unterstützt.

Siehe folgende Beispielverwendung:

$ gn gen out/coverage \
    --args='use_clang_coverage=true is_component_build=false'
$ python tools/code_coverage/coverage.py \
    crypto_unittests url_unittests \
    -b out/coverage -o out/report \
    -c 'out/coverage/crypto_unittests' \
    -c 'out/coverage/url_unittests --gtest_filter=URLParser.PathURL' \
    -f url/ -f crypto/

Dadurch werden crypto_unittests und url_unittests targets erstellt und ausgeführt. Für url_unittests wird nur der Test URLParser.PathURL ausgeführt. Die Berichterstattung Der Bericht wird so gefiltert, dass er nur Dateien und Unterverzeichnisse unter "url/" enthält. und crypto/. Neben der Automatisierung des Prozesses bietet dieses Skript zusätzliche Funktionen, um die Codeabdeckung nach Verzeichnissen und Komponenten anzusehen.

Screenshot der Ausgabe des Abdeckungsskripts Verzeichnisansicht
Screenshot der Ausgabe des Abdeckungsskripts Komponentenansicht

Mit dem Tool für die Codeabdeckung lässt sich die Codeabdeckung nach Verzeichnis aufschlüsseln. und Komponente für die gesamte Codebasis, für Windows, iOS, Android, ChromeOS

Feedback geben:Wende dich an code-coverage @ chromium.org oder melde den Fehler. auf crbug.com.

Ressourcen