PublishCodeCoverageResults@1 : Veröffentlichen der Code Coverage-Ergebnisse v1
Verwenden Sie diese Aufgabe, um Cobertura- oder JaCoCo-Code coverage-Ergebnisse aus einem Build zu veröffentlichen.
Wichtig
Diese Aufgabe ist veraltet. Benutzern wird empfohlen, zu PublishCodeCoverageResults@2 zu wechseln. Weitere Informationen finden Sie unter Neue Version der Aufgabe Code Coverage-Ergebnisse veröffentlichen.
Verwenden Sie diese Aufgabe, um Cobertura- oder JaCoCo-Code coverage-Ergebnisse aus einem Build zu veröffentlichen.
Syntax
# Publish code coverage results v1
# [DEPRECATION WARNING! Users are recommended to switch to version 2*.] 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.
#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.
# YAML Syntax is not supported in TFS 2018.
# Use the classic designer to add and configure tasks.
# See the following Inputs section for details on the inputs that this task supports.
Eingaben
codeCoverageTool
- Code Coverage-Tool
string
. Erforderlich. Zulässige Werte: Cobertura
, JaCoCo
. Standardwert. JaCoCo
.
Gibt das Tool an, das Code Coverage-Ergebnisse generiert.
summaryFileLocation
- Zusammenfassungsdatei
string
. Erforderlich.
Gibt den Pfad der Zusammenfassungsdatei an, die Code Coverage-Statistiken enthält, z. B. Zeilen-, Methoden- und Klassenabdeckung. Mehrere Zusammenfassungsdateien werden in einem einzigen Bericht zusammengeführt. Der Wert kann Minimatchmuster enthalten. Beispiel: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml
.
pathToSources
- Pfad zu Quelldateien
string
.
Die Angabe eines Pfads zu Quelldateien ist erforderlich, wenn XML-Coverage-Berichte keinen absoluten Pfad zu Quelldateien enthalten. Beispielsweise verwenden JaCoCo-Berichte keine absoluten Pfade, sodass das Muster beim Veröffentlichen der JaCoCo-Abdeckung für Java-Apps ähnlich $(System.DefaultWorkingDirectory)/MyApp/src/main/java/
ist. 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 durch das ;
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 code coverage an. Das Berichtsverzeichnis wird zur späteren Anzeige als Artefakt des Builds veröffentlicht. Der Wert kann Minimatchmuster enthalten. Beispiel: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura
.
additionalCodeCoverageFiles
- Zusätzliche Dateien
string
.
Gibt das Dateipfadmuster an und notiert alle zusätzlichen Code Coverage-Dateien, die als Artefakte des Builds veröffentlicht werden sollen. Der Wert kann Minimatchmuster enthalten. Beispiel: $(System.DefaultWorkingDirectory)/**/*.exec
.
failIfCoverageEmpty
- Fehler, wenn Code Coverage-Ergebnisse fehlen
boolean
. Standardwert. false
.
Die Aufgabe schlägt fehl, wenn die Code coverage keine ergebnisse zur Veröffentlichung erzeugt hat.
Optionen für die Vorgangskontrolle
Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.
Ausgabevariablen
Keine.
Hinweise
Wichtig
Diese Aufgabe ist veraltet. Benutzern wird empfohlen, zu PublishCodeCoverageResults@2 zu wechseln. Weitere Informationen finden Sie unter Neue Version der Aufgabe Code Coverage-Ergebnisse veröffentlichen.
Hinweis
Informationen zu den neuen Features in V2 der Aufgabe Code Coverage-Ergebnisse veröffentlichen und von V1 zu V2 migrieren finden Sie unter Neue Version der Aufgabe Code Coverage Results veröffentlichen im Azure DevOps-Blog .
Verwenden Sie diese Aufgabe in einer Buildpipeline, um Code Coverage-Ergebnisse zu veröffentlichen, die beim Ausführen von Tests in Azure Pipelines oder TFS erstellt wurden, um Berichte zur Abdeckung zu erhalten. Die Aufgabe unterstützt Code Coverage-Ergebnisformate wie Cobertura und JaCoCo.
Diese Aufgabe wird nur in Buildpipelines unterstützt, nicht in Releasepipelines.
Aufgaben wie Visual Studio Test, .NET Core, Ant, Maven, Gulp und Grunt bieten auch die Möglichkeit, Code Coverage-Daten in der Pipeline zu veröffentlichen. Wenn Sie diese Aufgaben verwenden, benötigen Sie keine separate Aufgabe zum Veröffentlichen von Code Coverage-Ergebnissen in der Pipeline.
Zum Generieren des HTML-Code Coverage-Berichts benötigen Sie dotnet framework 2.0.0 oder höher auf dem Agent. Der Ordner dotnet muss sich im Umgebungspfad befinden. Wenn dotnet in mehreren Ordnern enthalten ist, muss sich der Ordner mit Version 2.0.0 in der Pfadliste vor allen anderen Ordnern befinden.
Code Coverage-Ergebnisse für JavaScript mit Istanbul unter Verwendung von YAML
Informationen zum Veröffentlichen von Code Coverage-Ergebnissen für JavaScript mit Istanbul mithilfe von YAML finden Sie unter Anpassen von JavaScript im Abschnitt Ökosysteme dieser Themen, der auch Beispiele für andere Sprachen enthält.
Sehen Sie sich ein Beispiel für die Veröffentlichung von Code Coverage mit Cobertura an.
Docker
Für Apps, die Docker verwenden, können Build und Tests innerhalb des Containers ausgeführt werden und Code Coverage-Ergebnisse innerhalb des Containers generieren. Um die Ergebnisse in der Pipeline zu veröffentlichen, sollten die resultierenden Artefakte dem Task Code Coverage Results veröffentlichen zur Verfügung gestellt werden. Als Referenz finden Sie ein ähnliches Beispiel für die Veröffentlichung von Testergebnissen im Abschnitt Erstellen, Testen und Veröffentlichen von Ergebnissen mit einer Docker-Datei für Docker.
Anzeigen der Ergebnisse
Informationen zum Anzeigen der Code Coverage-Ergebnisse in der Pipeline finden Sie unter Überprüfen der Code Coverage-Ergebnisse.
Werden Code Coverage-Daten zusammengeführt, wenn mehrere Dateien als Eingabe für die Aufgabe bereitgestellt oder mehrere Aufgaben in der Pipeline verwendet werden?
Derzeit ist die von dieser Aufgabe bereitgestellte Code Coverage-Berichterstellungsfunktion eingeschränkt und führt keine Abdeckungsdaten zusammen. Wenn Sie mehrere Dateien als Eingabe für die Aufgabe bereitstellen, wird nur die erste Übereinstimmung berücksichtigt. Wenn Sie mehrere Aufgaben für die Veröffentlichung von Code Coverage in der Pipeline verwenden, werden die Zusammenfassung und der Bericht für die letzte Aufgabe angezeigt. Alle zuvor hochgeladenen Daten werden ignoriert.
Bekannte Probleme
Der Task Code Coverage-Ergebnisse veröffentlichen generiert und veröffentlicht den HTML-Bericht, bei dem es sich um eine Gruppe von HTML-Dateien handelt, die aus der Standard index.html Datei verknüpft sind. Wenn der Code Coverage-Bericht nicht auf der Registerkarte „Code Coverage“ angezeigt wird, überprüfen Sie, ob die Größe der Datei index.html mindestens 7 MB beträgt. 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 Buildzusammenfassung und dann den veröffentlichten Link aus:
Wählen Sie neben dem Artefakt Code Coverage-Bericht_* die Option Artefakte herunterladen aus:
Nachdem der Code Coverage-Bericht heruntergeladen wurde, extrahieren Sie die ZIP-Datei.
Überprüfen Sie im Code Coverage-Bericht die Größe von index.html, um festzustellen, ob die Dateigröße Ursache des hier beschriebenen Problems ist.
Öffnen Sie index.html in einem Browser, um den Code Coverage-Bericht anzuzeigen.
Anforderungen
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, klassischer Build |
Wird ausgeführt auf | Agent, DeploymentGroup |
Forderungen | Keine |
Capabilities | Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag. |
Befehlseinschränkungen | Any |
Setzbare Variablen | Diese Aufgabe verfügt über die Berechtigung zum Festlegen der folgenden Variablen: Festlegen von Variablen ist deaktiviert. |
Agent-Version | 2.182.1 oder höher |
Aufgabenkategorie | Test |
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, klassischer Build |
Wird ausgeführt auf | Agent, DeploymentGroup |
Forderungen | Keine |
Capabilities | Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag. |
Befehlseinschränkungen | Any |
Setzbare Variablen | Any |
Agent-Version | 2.102.0 oder höher |
Aufgabenkategorie | Test |