Sdílet prostřednictvím


PublishCodeCoverageResults@2 – úloha Publikování výsledků pokrytí kódu v2

Tato úloha slouží k získání výsledků pokrytí kódu z sestavení.

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.

Vstupy

summaryFileLocation - Cesta k souhrnným souborům
string. Povinná hodnota.

Určuje cestu souhrnného souboru obsahujícího statistiky pokrytí kódu, jako je například pokrytí řádku, metody a třídy. Několik souhrnných souborů se sloučí do jedné sestavy. Hodnota může obsahovat vzory minimatch. Příklad: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml. Další informace o vzorech minimatch.


pathToSources - Cesta ke zdrojovým souborům
string.

Zadání cesty ke zdrojovým souborům se vyžaduje, pokud sestavy XML pokrytí neobsahují absolutní cestu ke zdrojovým souborům. Například sestavy JaCoCo nepoužívají absolutní cesty, takže při publikování pokrytí JaCoCo pro aplikace v Javě se model podobá $(System.DefaultWorkingDirectory)/MyApp/src/main/java/. Tento vstup by měl odkazovat na absolutní cestu ke zdrojovým souborům na hostiteli. Například, $(System.DefaultWorkingDirectory)/MyApp/.

Tento vstup se dá použít, pokud se testy spouští v kontejneru Dockeru.


failIfCoverageEmpty - Selhání, pokud chybí výsledky pokrytí kódu
boolean. Výchozí hodnota: false.

Úloha selže, pokud pokrytí kódu nepřinášelo žádné výsledky pro publikování.


Možnosti ovládání úloh

Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacího prvku a běžné vlastnosti úlohy.

Výstupní proměnné

Žádné

Poznámky

Poznámka

Informace o nových funkcích ve verzi 2 úlohy Publikování výsledků pokrytí kódu a migraci z V1 na V2 najdete v tématu Nová verze úlohy Publikovat výsledky pokrytí kódu na blogu Azure DevOps .

Tuto úlohu použijte v kanálu sestavení k publikování výsledků pokrytí kódu vytvořených při spouštění testů do Azure Pipelines nebo TFS a po vygenerování souborů XML pokrytí, abyste získali kartu pokrytí kódu a podrobnosti o sestavách pokrytí v kanálu. Úloha podporuje formáty XML vygenerované pokrytím kódu. Tato úloha vygeneruje soubor cjson, který obsahuje podrobnosti o pokrytí kódu. Vytvoří také sestavu HTML pokrytí kódu pod artefakty sestavení.

Tato úloha je podporována pouze v kanálech sestavení, nikoli v kanálech vydaných verzí.

Úlohy, jako jsou Visual Studio Test, .NET Core, Ant, Maven, Gulp a Grunt , také poskytují možnost publikovat data pokrytí kódu do kanálu. Pokud tyto úlohy používáte, nepotřebujete v kanálu samostatnou úlohu Publikovat výsledky pokrytí kódu.

Předpoklad – Pokud chcete použít úlohu Publikovat výsledky pokrytí kódu v2 v kanálu, použijte v kanálu jako předpoklad úlohu dotnet 7.0.x . Před úlohou Publikovat pokrytí kódu v2 použijte úlohu dotnet core.

Požadavky

Konfigurace požadavků pomocí kanálu YAML:

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

Konfigurace požadavků pomocí návrháře:

Snímek obrazovky znázorňující úlohu sady .Net Core Sdk v kanálu

  1. Pomocí následujícího nastavení nakonfigurujte úlohu Publikovat výsledky pokrytí kódu verze 2.

    Snímek obrazovky znázorňující úlohu Publikovat výsledky pokrytí kódu v2

  2. Jakmile se sestavení dokončí a úloha Publikovat výsledky pokrytí kódu v2 bude úspěšná, vyberte kartu Pokrytí kódu v souhrnu spuštění kanálu a zobrazte výsledky pokrytí kódu.

    Snímek obrazovky znázorňující kartu Pokrytí kódu vygenerovanou úlohou Publikovat pokrytí kódu verze 2

Výsledky pokrytí kódu pro JavaScript s istanbulem pomocí YAML

Pokud chcete publikovat výsledky pokrytí kódu pro JavaScript v Istanbulu pomocí YAML, přečtěte si téma Přizpůsobení JavaScriptu v části Ekosystémy v těchto tématech, kde najdete také příklady pro jiné jazyky.

Podívejte se na příklad publikování pokrytí kódu pomocí Cobertura.

Docker

U aplikací používajících Docker se sestavení a testy můžou spouštět uvnitř kontejneru a generovat výsledky pokrytí kódu v kontejneru. Aby bylo možné publikovat výsledky do kanálu, měly by být výsledné artefakty zpřístupněny pro úlohu Publikovat výsledky pokrytí kódu . Pro referenci můžete vidět podobný příklad publikování výsledků testů v části Sestavení, testování a publikování výsledků pomocí souboru Dockeru pro Docker.

Zobrazení výsledků

Pokud chcete zobrazit výsledky pokrytí kódu v kanálu, přečtěte si téma Kontrola výsledků pokrytí kódu.

Známé problémy

Úloha publikování výsledků pokrytí kódu v2 vygeneruje soubor cjson a publikuje sestavu pokrytí kódu na kartě pokrytí kódu. Vytvoří také artefakty sestavení, což je sada souborů HTML, které jsou propojeny z hlavního index.html souboru. Pokud se na kartě pokrytí kódu nezobrazí sestava pokrytí kódu, zkontrolujte, jestli je soubor XML pokrytí vstupního kódu ve správném formátu a zda obsahuje platné podrobnosti.

Požadavky

Požadavek Popis
Typy kanálů YAML, klasické sestavení
Spustí se Agent
Požadavky Žádné
Možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
Omezení příkazů Všechny
Nastavitelné proměnné Všechny
Verze agenta 2.144.0 nebo vyšší
Kategorie úloh Test

Viz také