Freigeben über


PublishCodeCoverageResults@2 – Veröffentlichen der Codeabdeckungsergebnisse v2-Aufgabe

Verwenden Sie diese Aufgabe, um Codeabdeckungsergebnisse 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.

Eingänge

summaryFileLocation - Pfad zu Sammeldateien
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. Weitere Informationen zu Minimatchmustern.


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.


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 erstellt wurden, und nach dem Generieren der XML-Abdeckungsdateien, um Codeabdeckungsregisterkarten und Berichtsdetails in der Pipeline abzurufen. Die Aufgabe unterstützt generierte XML-Formate für die Codeabdeckung. Diese Aufgabe generiert eine Cjson-Datei, die die Codeabdeckungsdetails enthält. Außerdem wird ein HTML-Bericht zur Codeabdeckung unter den Buildartefakten erstellt.

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.

Voraussetzung: Um den Task "Ergebnisse der Codeabdeckung veröffentlichen" in der Pipeline zu verwenden, verwenden Sie bitte die aufgabe dotnet 7.0.x als Voraussetzung in der Pipeline. Verwenden Sie die dotnet-Kernaufgabe vor der Aufgabe "Codeabdeckung veröffentlichen v2".

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, der die Aufgabe .Net Core Sdk in der Pipeline zeigt.

  1. Konfigurieren Sie die Aufgabe "Ergebnisse der Codeabdeckung veröffentlichen", Version 2, mithilfe der folgenden Einstellungen.

    Screenshot mit der Aufgabe

  2. Nachdem der Build abgeschlossen ist und die Aufgabe "Ergebnisse der Codeabdeckung veröffentlichen v2" erfolgreich ist, wählen Sie die Registerkarte Codeabdeckung Registerkarte in der Pipelineausführungszusammenfassung aus, um die Codeabdeckungsergebnisse anzuzeigen.

    Screenshot, der die Registerkarte

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.

Bekannte Probleme

Die Veröffentlichungscodeabdeckungsergebnisse v2-Aufgabe generiert eine cjson-Datei und veröffentlicht den Codeabdeckungsbericht auf der Registerkarte "Codeabdeckung". Es erzeugt auch ein Buildartefakt, 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 XML-Datei der Eingabecodeabdeckung das richtige Format aufweist und über die gültigen Details verfügt.

Anforderungen

Anforderung Beschreibung
Pipelinetypen YAML, klassischer Build
Läuft auf Agent
Anforderungen Nichts
Funktionen Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag.
Befehlseinschränkungen Jegliche
Settable-Variablen Jegliche
Agentversion 2.144.0 oder höher
Vorgangskategorie Test

Siehe auch