PublishCodeCoverageResults@1 – Veröffentlichen der Ergebnisse der Codeabdeckung v1
Verwenden Sie diese Aufgabe, um Cobertura- oder JaCoCo-Codeabdeckungsergebnisse aus einem Build zu veröffentlichen.
Veröffentlichen Sie Cobertura- oder JaCoCo-Codeabdeckungsergebnisse aus einem Build.
Verwenden Sie diese Aufgabe, um Cobertura- oder JaCoCo-Codeabdeckungsergebnisse aus einem Build zu veröffentlichen.
Syntax
# Publish code coverage results v1
# Publish Cobertura or JaCoCo code coverage results from a build.
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: 'JaCoCo' # 'Cobertura' | 'JaCoCo'. Required. Code coverage tool. Default: JaCoCo.
summaryFileLocation: # string. Required. Summary file.
#pathToSources: # string. Path to Source files.
#reportDirectory: # string. Report directory.
#additionalCodeCoverageFiles: # string. Additional files.
#failIfCoverageEmpty: false # boolean. Fail when code coverage results are missing. Default: false.
# Publish Code Coverage Results v1
# Publish Cobertura or JaCoCo code coverage results from a build.
- task: PublishCodeCoverageResults@1
inputs:
codeCoverageTool: 'JaCoCo' # 'Cobertura' | 'JaCoCo'. Required. Code coverage tool. Default: JaCoCo.
summaryFileLocation: # string. Required. Summary file.
#reportDirectory: # string. Report directory.
#additionalCodeCoverageFiles: # string. Additional files.
#failIfCoverageEmpty: false # boolean. Fail when code coverage results are missing. Default: false.
Eingänge
codeCoverageTool
-
Codeabdeckungstool
string
. Erforderlich. Zulässige Werte: Cobertura
, JaCoCo
. Standardwert: JaCoCo
.
Gibt das Tool an, das Codeabdeckungsergebnisse generiert.
summaryFileLocation
-
Zusammenfassungsdatei
string
. Erforderlich.
Gibt den Pfad der Zusammenfassungsdatei an, die Codeabdeckungsstatistiken enthält, z. B. Zeilen-, Methoden- und Klassenabdeckung. Mehrere Zusammenfassungsdateien werden in einem einzigen Bericht zusammengeführt. Der Wert kann Miniübereinstimmungsmuster enthalten. Beispiel: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml
.
pathToSources
-
Pfad zu Quelldateien
string
.
Die Angabe eines Pfads zu Quelldateien ist erforderlich, wenn XML-Abdeckungsberichte keinen absoluten Pfad zu Quelldateien enthalten. Beispielsweise verwenden JaCoCo-Berichte keine absoluten Pfade, daher ist das Muster beim Veröffentlichen der JaCoCo-Abdeckung für Java-Apps mit $(System.DefaultWorkingDirectory)/MyApp/src/main/java/
vergleichbar. Diese Eingabe sollte auf einen absoluten Pfad zu Quelldateien auf dem Host verweisen. Beispiel: $(System.DefaultWorkingDirectory)/MyApp/
.
Diese Eingabe kann verwendet werden, wenn Tests in einem Docker-Container ausgeführt werden.
Mehrere Quellen können hinzugefügt werden, indem jedes Listenelement mit dem ;
Zeichen getrennt wird, z. B. pathToSources: $(System.DefaultWorkingDirectory)/path/to/first/source;$(System.DefaultWorkingDirectory)/path/to/second/source
.
reportDirectory
-
Berichtsverzeichnis-
string
.
Gibt den Pfad des HTML-Berichtsverzeichnisses für die Codeabdeckung an. Das Berichtsverzeichnis wird zur späteren Anzeige als Artefakt des Builds veröffentlicht. Der Wert kann Miniübereinstimmungsmuster enthalten. Beispiel: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura
.
additionalCodeCoverageFiles
-
Zusätzliche Dateien
string
.
Gibt das Dateipfadmuster an und stellt alle zusätzlichen Codeabdeckungsdateien fest, die als Artefakte des Builds veröffentlicht werden sollen. Der Wert kann Miniübereinstimmungsmuster enthalten. Beispiel: $(System.DefaultWorkingDirectory)/**/*.exec
.
failIfCoverageEmpty
-
Fehlschlagen, wenn die Ergebnisse der Codeabdeckung
boolean
. Standardwert: false
.
Schlägt die Aufgabe fehl, wenn die Codeabdeckung keine Ergebnisse zur Veröffentlichung erzeugt hat.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Nichts.
Bemerkungen
Verwenden Sie diese Aufgabe in einer Buildpipeline, um Codeabdeckungsergebnisse zu veröffentlichen, die beim Ausführen von Tests in Azure Pipelines oder TFS erzeugt werden, um Berichte zur Abdeckung zu erhalten. Der Vorgang unterstützt beliebte Abdeckungsergebnisformate wie Cobertura und JaCoCo.
Diese Aufgabe wird nur in Buildpipelinen unterstützt, nicht in Pipelines freigeben.
Aufgaben wie Visual Studio Test, .NET Core, Ant, Maven, Gulpund Grunt bieten auch die Möglichkeit, Codeabdeckungsdaten in der Pipeline zu veröffentlichen. Wenn Sie diese Aufgaben verwenden, benötigen Sie keine separate Aufgabe zum Veröffentlichen von Codeabdeckungsergebnissen in der Pipeline.
Zum Generieren des HTML-Codeabdeckungsberichts benötigen Sie dotnet Framework 2.0.0 oder höher für den Agent. Der Dotnet-Ordner muss sich im Umgebungspfad befinden. Wenn mehrere Ordner mit Dotnet vorhanden sind, muss die datei mit Version 2.0.0 vor allen anderen Ordnern in der Pfadliste liegen.
Codeabdeckungsergebnisse für JavaScript mit Istanbul mit YAML
Informationen zum Veröffentlichen von Codeabdeckungsergebnissen für JavaScript mit Istanbul mithilfe von YAML finden Sie unter Customize JavaScript im Abschnitt "Ökosysteme" dieser Themen, die auch Beispiele für andere Sprachen enthalten.
Sehen Sie sich ein Beispiel für die Veröffentlichung der Codeabdeckung mit Coberturaan.
Hafenarbeiter
Für Apps, die Docker verwenden, können Build- und Tests innerhalb des Containers ausgeführt und Codeabdeckungsergebnisse innerhalb des Containers generiert werden. Um die Ergebnisse in der Pipeline zu veröffentlichen, sollten die resultierenden Artefakte für die Veröffentlichung von Codeabdeckungsergebnissen Aufgabe verfügbar gemacht werden. Referenzzwecken finden Sie ein ähnliches Beispiel für die Veröffentlichung von Testergebnissen unter dem Build, Test und Veröffentlichen von Ergebnissen mit einer Docker-Datei Abschnitt für Docker.
Ergebnisse anzeigen
Informationen zum Anzeigen der Codeabdeckungsergebnisse in der Pipeline finden Sie unter Überprüfen der Codeabdeckungsergebnisse.
Werden Codeabdeckungsdaten zusammengeführt, wenn mehrere Dateien als Eingabe für die Aufgabe bereitgestellt werden oder mehrere Aufgaben in der Pipeline verwendet werden?
Derzeit ist die von dieser Aufgabe bereitgestellte Codeabdeckungsberichterstattung eingeschränkt, und es werden keine Abdeckungsdaten zusammengeführt. Wenn Sie mehrere Dateien als Eingabe für die Aufgabe bereitstellen, wird nur die erste Übereinstimmung berücksichtigt. Wenn Sie mehrere Veröffentlichungscodeabdeckungsaufgaben in der Pipeline verwenden, wird die Zusammenfassung und der Bericht für den letzten Vorgang angezeigt. Alle zuvor hochgeladenen Daten werden ignoriert.
Bekannte Probleme
Die Aufgabe zum Veröffentlichen von Codeabdeckungsergebnissen generiert und veröffentlicht den HTML-Bericht, bei dem es sich um eine Reihe von HTML-Dateien handelt, die aus der Hauptdatei index.html verknüpft sind. Wenn die Codeabdeckungsregisterkarte den Codeabdeckungsbericht nicht anzeigen kann, überprüfen Sie, ob die Größe der datei index.html nahe oder größer als 7 MB ist. Führen Sie die folgenden Schritte aus, um die Größe der Datei zu überprüfen. Wenn die Dateigröße dann nahe oder größer als 7 MB ist, können Sie die folgende Problemumgehung verwenden, um den Abdeckungsbericht anzuzeigen.
Wählen Sie die Registerkarte "Build Zusammenfassung" aus, und wählen Sie dann den veröffentlichten link aus:
Wählen Sie neben dem Codeabdeckungs-Report_* Artefakt Artefakte herunterladen:
Wenn der Codeabdeckungsbericht heruntergeladen wird, extrahieren Sie die .zip Datei.
Überprüfen Sie im Codeabdeckungsbericht die Größe index.html, um festzustellen, ob die Dateigröße das hier beschriebene Problem verursacht.
Öffnen Sie index.html in einem Browser, um den Codeabdeckungsbericht anzuzeigen.
Anforderungen
Anforderung | Beschreibung |
---|---|
Pipelinetypen | YAML, klassischer Build |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Diese Aufgabe verfügt über die Berechtigung zum Festlegen der folgenden Variablen: Das Festlegen von Variablen ist deaktiviert. |
Agentversion | 2.182.1 oder höher |
Vorgangskategorie | Test |
Anforderung | Beschreibung |
---|---|
Pipelinetypen | YAML, klassischer Build |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.102.0 oder höher |
Vorgangskategorie | Test |