Sdílet prostřednictvím


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

Pomocí této úlohy můžete publikovat výsledky pokrytí kódu Cobertura nebo JaCoCo z sestavení.

Důležité

Tato úloha je zastaralá. Uživatelům se doporučuje přepnout na PublishCodeCoverageResults@2. Další informace najdete v tématu Nová verze úlohy Publikovat výsledky pokrytí kódu.

Pomocí této úlohy můžete publikovat výsledky pokrytí kódu Cobertura nebo JaCoCo z sestavení.

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.

Vstupy

codeCoverageTool - Nástroj pokrytí kódu
string. Povinná hodnota. Povolené hodnoty: Cobertura, JaCoCo. Výchozí hodnota: JaCoCo.

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


summaryFileLocation - Souhrnný soubor
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.


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.

Více zdrojů lze přidat tak, že každou položku seznamu oddělíte znakem ; , například pathToSources: $(System.DefaultWorkingDirectory)/path/to/first/source;$(System.DefaultWorkingDirectory)/path/to/second/source.


reportDirectory - Adresář sestav
string.

Určuje cestu k adresáři sestav 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á 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í, když 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

Důležité

Tato úloha je zastaralá. Uživatelům se doporučuje přepnout na PublishCodeCoverageResults@2. Další informace najdete v tématu Nová verze úlohy Publikovat výsledky pokrytí kódu.

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, abyste získali sestavy pokrytí. Úloha podporuje oblíbené formáty výsledků pokrytí, jako jsou Cobertura a JaCoCo.

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.

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

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.

Sloučí se data pokrytí kódu, když se jako vstup úkolu poskytne více souborů nebo se v kanálu použije více úkolů?

V současné době je funkce generování sestav pokrytí kódu, kterou tato úloha poskytuje, omezená a neslučuje data pokrytí. Pokud jako vstup úkolu zadáte více souborů, bude se brát v úvahu pouze první shoda. Pokud v kanálu použijete více úloh pokrytí kódu publikování, zobrazí se souhrn a sestava pro poslední úkol. 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 na kartě pokrytí kódu nezobrazí sestava pokrytí kódu, zkontrolujte, jestli se velikost souboruindex.html blíží nebo je větší než 7 MB. Provedením následujících kroků zkontrolujte velikost souboru. Pokud se pak velikost souboru blíží nebo je větší než 7 MB, můžete k zobrazení sestavy pokrytí použít následující alternativní řešení.

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

    Snímek obrazovky s publikovaným odkazem 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 , abyste zjistili, jestli velikost souboru způsobuje zde popsaný problém.

  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í
Spustí se Agent, DeploymentGroup
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é Tato úloha má oprávnění k nastavení následujících proměnných: Nastavení proměnných je zakázáno.
Verze agenta 2.182.1 nebo vyšší
Kategorie úloh Test
Požadavek Popis
Typy kanálů YAML, klasické sestavení
Spustí se Agent, DeploymentGroup
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.102.0 nebo vyšší
Kategorie úloh Test

Viz také