Sdílet prostřednictvím


PublishCodeCoverageResults@1 – Publikování výsledků pokrytí kódu v1

Tuto úlohu použijte k publikování výsledků pokrytí kódu Cobertura nebo JaCoCo z sestavení.

Výsledky pokrytí kódu Cobertura nebo JaCoCo publikujte z sestavení.

Tuto úlohu použijte k publikování výsledků pokrytí kódu Cobertura nebo JaCoCo z sestavení.

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.

Vstupy

nástroje pro pokrytí kódu
string. Požadovaný. Povolené hodnoty: Cobertura, JaCoCo. Výchozí hodnota: JaCoCo.

Určuje nástroj, který generuje výsledky pokrytí kódu.


summaryFileLocation - souhrnný soubor
string. Požadovaný.

Určuje cestu souhrnného souboru obsahujícího statistiky pokrytí kódu, jako je řádek, metoda a pokrytí 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.


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

Zadání cesty ke zdrojovým souborům se vyžaduje, když 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 vzor 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 lze použít, pokud se testy spouští v kontejneru Dockeru.

Více zdrojů lze přidat oddělovačem každé položky seznamu znakem ;, například pathToSources: $(System.DefaultWorkingDirectory)/path/to/first/source;$(System.DefaultWorkingDirectory)/path/to/second/source.


reportDirectory - adresář sestavy
string.

Určuje cestu k adresáři sestavy HTML pokrytí kódu. Adresář sestav se publikuje pro pozdější zobrazení jako artefakt sestavení. Hodnota může obsahovat vzory minimatch. Příklad: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura.


additionalCodeCoverageFiles - další soubory
string.

Určuje vzor cesty k souboru a zaznamená všechny další soubory pokrytí kódu, které se mají publikovat jako artefakty sestavení. Hodnota může obsahovat vzory minimatch. Příklad: $(System.DefaultWorkingDirectory)/**/*.exec.


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

Pokud pokrytí kódu nezveřejňovalo žádné výsledky k publikování, úloha selže.


Možnosti řízení úkolů

Všechny úkoly mají kromě vstupů úkolů také možnosti řízení. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.

Výstupní proměnné

Žádný.

Poznámky

Tato úloha v kanálu buildu slouží k publikování výsledků pokrytí kódu vytvořených při spouštění testů do Azure Pipelines nebo TFS, aby bylo možné získat sestavy pokrytí. Úkol podporuje oblíbené formáty výsledků pokrytí, jako jsou Cobertura a JaCoCoCo.

Tato úloha je podporována pouze v kanálech buildu, nikoli v kanálech verze.

Úlohy jako Visual Studio Test, .NET Core, Ant, Maven, Gulpa 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.

K vygenerování sestavy pokrytí kódu HTML potřebujete rozhraní dotnet Framework 2.0.0 nebo novější v agentu. Složka dotnet musí být v cestě prostředí. Pokud existuje více složek obsahujících dotnet, musí být jedna s verzí 2.0.0 před všemi ostatními v seznamu cest.

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

Pokud chcete publikovat výsledky pokrytí kódu pro JavaScript s istanbulem pomocí YAML, přečtěte si téma Přizpůsobení javascriptových v části Ekosystémy v těchto tématech, včetně příkladů pro jiné jazyky.

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

Dokař

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

Zobrazení výsledků

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

Slučuje se data pokrytí kódu, když je v kanálu k dispozici více souborů jako vstup nebo více úkolů?

V současné době je funkce generování sestav pokrytí kódu poskytované touto úlohou omezená a nesloučí data pokrytí. Pokud jako vstup úkolu zadáte více souborů, považuje se pouze první shoda. Pokud v kanálu použijete více úloh pokrytí kódu publikování, zobrazí se souhrn a sestava pro poslední úlohu. Všechna dříve nahraná data se ignorují.

Známé problémy

Úloha publikování výsledků pokrytí kódu vygeneruje a publikuje sestavu HTML, což je sada souborů HTML, které jsou propojeny z hlavního index.html souboru. Pokud se kartě pokrytí kódu nepodaří zobrazit sestavu pokrytí kódu, zkontrolujte, jestli je velikost souboru index.html blízko nebo větší než 7 MB. Provedením následujících kroků zkontrolujte velikost souboru. Pokud je velikost souboru blízko nebo větší než 7 MB, můžete k zobrazení sestavy pokrytí použít následující alternativní řešení.

  1. Vyberte kartu souhrnu sestavení a pak vyberte odkaz publikovaný:

    Snímek obrazovky, který zobrazuje publikovaný odkaz v podokně Souhrn

  2. Vedle artefaktu Pokrytí kódu Report_* vyberte Stáhnout artefakty:

    snímek obrazovky s odkazem Stáhnout artefakty pro sestavu pokrytí kódu v části Artefakty

  3. Po stažení sestavy pokrytí kódu extrahujte soubor .zip.

  4. V sestavě pokrytí kódu zkontrolujte velikost index.html a zjistěte, jestli velikost souboru způsobuje problém popsaný tady.

  5. Otevřete index.html v prohlížeči a zobrazte sestavu pokrytí kódu.

Požadavky

Požadavek Popis
Typy kanálů YAML, klasické sestavení
Běží na Agent, DeploymentGroup
požadavky Žádný
možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
omezení příkazů Jakýkoliv
nastavitelné proměnné Tento úkol má oprávnění nastavit následující proměnné: Nastavení proměnných je zakázáno.
Verze agenta 2.182.1 nebo vyšší
Kategorie úkolu Test
Požadavek Popis
Typy kanálů YAML, klasické sestavení
Běží na Agent, DeploymentGroup
požadavky Žádný
možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
omezení příkazů Jakýkoliv
nastavitelné proměnné Jakýkoliv
Verze agenta 2.102.0 nebo novější
Kategorie úkolu Test

Viz také