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í.
Vyberte kartu souhrnu
sestavení a pak vyberte odkaz publikovaný :Vedle artefaktu Pokrytí kódu Report_* vyberte Stáhnout artefakty:
Po stažení sestavy pokrytí kódu extrahujte soubor .zip.
V sestavě pokrytí kódu zkontrolujte velikost index.html a zjistěte, jestli velikost souboru způsobuje problém popsaný tady.
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 |