PublishCodeCoverageResults@2 – Aufgabe "Code Coverage"v2 veröffentlichen

Verwenden Sie diese Aufgabe, um Code coverage-Ergebnisse aus einem Build abzurufen.

Syntax

# Publish code coverage results v2
# Publish any of the code coverage results from a build.
- task: PublishCodeCoverageResults@2
  inputs:
    summaryFileLocation: # string. Required. Path to summary files. 
    #pathToSources: # string. Path to Source files. 
    #failIfCoverageEmpty: false # boolean. Fail if code coverage results are missing. Default: false.

Eingaben

summaryFileLocation - Pfad zu Zusammenfassungsdateien
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 einzelnen Bericht zusammengeführt. Der Wert kann Minimatchmuster enthalten. Beispiel: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml. Weitere Informationen zu Minimatch-Mustern.


pathToSources - Pfad zu Quelldateien
string.

Die Angabe eines Pfads zu Quelldateien ist erforderlich, wenn XML-Berichte für die Abdeckung keinen absoluten Pfad zu Quelldateien enthalten. Beispielsweise verwenden JaCoCo-Berichte keine absoluten Pfade. Daher ähnelt das Muster beim Veröffentlichen der JaCoCo-Abdeckung für Java-Apps dem $(System.DefaultWorkingDirectory)/MyApp/src/main/java/. 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.


failIfCoverageEmpty - Fehler, wenn Code coverage-Ergebnisse fehlen
boolean. Standardwert. false.

Schlägt die Aufgabe fehl, wenn die Codeabdeckung keine Ergebnisse zur Veröffentlichung generiert 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

Hinweis

Informationen zu den neuen Features in V2 der Aufgabe Ergebnisse der Codeabdeckung 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 und nach dem Generieren der Coverage-XML-Dateien erstellt wurden, um die Registerkarte Code coverage und Coverage Reporting Details in der Pipeline abzurufen. Der Task unterstützt code coverage generierte XML-Formate. Dieser Task generiert eine cjson-Datei, die die Details zur Code coverage enthält. Außerdem wird ein CODE Coverage-HTML-Bericht unter den Buildartefakten erstellt.

Diese Aufgabe wird nur in Buildpipelines und nicht in Releasepipelines unterstützt.

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.

Voraussetzung: Um den Task Code Coverage Results v2 veröffentlichen in der Pipeline zu verwenden, verwenden Sie den Task dotnet 7.0.x als Voraussetzung in der Pipeline. Verwenden Sie die dotnet core-Aufgabe vor dem Task Code Coverage v2 veröffentlichen.

Voraussetzungen

So konfigurieren Sie die Voraussetzungen mithilfe einer YAML-Pipeline:

# Dotnet core sdk task 7.0.x
- task: UseDotNet@2
  displayName: 'Use .NET Core sdk 7.0.x'
  inputs:
    version: 7.0.x

So konfigurieren Sie die Voraussetzungen mithilfe des Designers:

Screenshot: .NET Core Sdk-Aufgabe in der Pipeline

  1. Konfigurieren Sie den Task Code Coverage Results Version 2 veröffentlichen mithilfe der folgenden Einstellungen.

    Screenshot: Aufgabe

  2. Nachdem der Build abgeschlossen ist und die Aufgabe Code Coverage Results v2 veröffentlichen erfolgreich ist, wählen Sie in der Zusammenfassung der Pipelineausführung die Registerkarte Code Coverage aus, um die Ergebnisse der Code coverage anzuzeigen.

    Screenshot: Registerkarte Code Coverage, die vom Task

Code coverage results for JavaScript with Istanbul using 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. Ein ähnliches Beispiel für die Veröffentlichung von Testergebnissen finden Sie 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 Ergebnisse der Codeabdeckung.

Bekannte Probleme

Der Task Publish Code Coverage Results v2 generiert eine cjson-Datei und veröffentlicht den Code Coverage-Bericht auf der Registerkarte Code Coverage. Außerdem wird ein Buildartefakt erzeugt, bei dem es sich um eine Gruppe von HTML-Dateien handelt, die aus der Standard index.html-Datei verknüpft sind. Wenn auf der Registerkarte Code coverage der Code Coverage-Bericht nicht angezeigt werden kann, überprüfen Sie, ob die XML-Datei für die Code coverage-Eingabe das richtige Format aufweist und die gültigen Details enthält.

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, Klassischer Build
Wird ausgeführt auf Agent
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Einstellbare Variablen Any
Agent-Version 2.144.0 oder höher
Aufgabenkategorie Test

Weitere Informationen