Udostępnij za pośrednictwem


PublishCodeCoverageResults@1 — publikowanie wyników pokrycia kodu w wersji 1

To zadanie służy do publikowania wyników pokrycia kodu Cobertura lub JaCoCo z kompilacji.

Publikowanie wyników pokrycia kodu Cobertura lub JaCoCo z kompilacji.

To zadanie służy do publikowania wyników pokrycia kodu Cobertura lub JaCoCo z kompilacji.

Składnia

# Publish code coverage results v1
- 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.

Wejścia

narzędzia pokrycia kodu
string. Wymagane. Dozwolone wartości: Cobertura, JaCoCo. Wartość domyślna: JaCoCo.

Określa narzędzie, które generuje wyniki pokrycia kodu.


summaryFileLocation - plik podsumowania
string. Wymagane.

Określa ścieżkę pliku podsumowania zawierającego statystyki pokrycia kodu, takie jak wiersz, metoda i pokrycie klasy. Wiele plików podsumowania jest scalanych z jednym raportem. Wartość może zawierać wzorce minimatch. Na przykład: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml.


pathToSources - ścieżka do plików źródłowych
string.

Określenie ścieżki do plików źródłowych jest wymagane, gdy raporty XML pokrycia nie zawierają ścieżki bezwzględnej do plików źródłowych. Na przykład raporty JaCoCo nie używają ścieżek bezwzględnych, więc podczas publikowania pokrycia JaCoCo dla aplikacji Java wzorzec jest podobny do $(System.DefaultWorkingDirectory)/MyApp/src/main/java/. Te dane wejściowe powinny wskazywać ścieżkę bezwzględną do plików źródłowych na hoście. Na przykład $(System.DefaultWorkingDirectory)/MyApp/.

Te dane wejściowe mogą być używane, jeśli testy są uruchamiane w kontenerze platformy Docker.

Wiele źródeł można dodać, rozdzielając każdy element listy znakiem ;, na przykład pathToSources: $(System.DefaultWorkingDirectory)/path/to/first/source;$(System.DefaultWorkingDirectory)/path/to/second/source.


reportDirectory - katalog raportów
string.

Określa ścieżkę katalogu raportu HTML pokrycia kodu. Katalog raportów jest publikowany do późniejszego wyświetlania jako artefakt kompilacji. Wartość może zawierać wzorce minimatch. Na przykład: $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura.


additionalCodeCoverageFiles - dodatkowe pliki
string.

Określa wzorzec ścieżki pliku i zauważa wszelkie dodatkowe pliki pokrycia kodu, które mają być publikowane jako artefakty kompilacji. Wartość może zawierać wzorce minimatch. Na przykład: $(System.DefaultWorkingDirectory)/**/*.exec.


failIfCoverageEmpty - Niepowodzenie, gdy brakuje wyników pokrycia kodu
boolean. Wartość domyślna: false.

Zadanie kończy się niepowodzeniem, jeśli pokrycie kodu nie wygenerowało żadnych wyników do opublikowania.


Opcje sterowania zadaniami

Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz opcje kontroli i typowe właściwości zadań.

Zmienne wyjściowe

Żaden.

Uwagi

Użyj tego zadania w potoku kompilacji, aby opublikować wyniki pokrycia kodu wygenerowane podczas uruchamiania testów w usłudze Azure Pipelines lub TFS w celu uzyskania raportowania pokrycia. Zadanie obsługuje popularne formaty wyników pokrycia, takie jak Cobertura i JaCoCo.

To zadanie jest obsługiwane tylko w potokach kompilacji, a nie w potokach wydania.

Zadania, takie jak Test programu Visual Studio, .NET Core, Ant, Maven, Gulpi Grunt również umożliwiają publikowanie danych pokrycia kodu w potoku. Jeśli używasz tych zadań, nie potrzebujesz oddzielnego zadania Publikuj wyniki pokrycia kodu w potoku.

Aby wygenerować raport pokrycia kodu HTML, potrzebujesz platformy dotnet 2.0.0 lub nowszej na agencie. Folder dotnet musi znajdować się w ścieżce środowiska. Jeśli istnieje wiele folderów zawierających dotnet, ten z wersją 2.0.0 musi znajdować się przed wszystkimi innymi na liście ścieżek.

Wyniki pokrycia kodu dla języka JavaScript w Stambule przy użyciu kodu YAML

Aby opublikować wyniki pokrycia kodu dla języka JavaScript w Stambule przy użyciu języka YAML, zobacz Dostosowywanie kodu JavaScript w sekcji Ekosystemy w tych tematach, która zawiera również przykłady dla innych języków.

Zobacz przykład publikowania pokrycia kodu przy użyciu narzędzia Cobertura.

Doker

W przypadku aplikacji korzystających z platformy Docker kompilacja i testy mogą być uruchamiane wewnątrz kontenera i generować wyniki pokrycia kodu w kontenerze. Aby opublikować wyniki w potoku, wynikowe artefakty powinny zostać udostępnione publikowanie wyników pokrycia kodu zadania. Aby uzyskać informacje na ten temat, zobacz podobny przykład publikowania wyników testów w sekcji Build, test i publish results with a Docker file section for Docker( ).

Wyświetlanie wyników

Aby wyświetlić wyniki pokrycia kodu w potoku, zobacz Przeglądanie wyników pokrycia kodu.

Czy dane pokrycia kodu są scalane, gdy w potoku jest udostępnianych wiele plików jako dane wejściowe zadania lub wiele zadań?

Obecnie funkcje raportowania pokrycia kodu udostępniane przez to zadanie są ograniczone i nie scalają danych pokrycia. Jeśli podajesz wiele plików jako dane wejściowe do zadania, uwzględniane jest tylko pierwsze dopasowanie. Jeśli używasz wielu zadań pokrycia kodu publikowania w potoku, podsumowanie i raport są wyświetlane dla ostatniego zadania. Wszystkie wcześniej przekazane dane są ignorowane.

Znane problemy

Zadanie publikowania wyników pokrycia kodu generuje i publikuje raport HTML, który jest zestawem plików HTML połączonych z głównym plikiem index.html. Jeśli karta pokrycia kodu nie wyświetli raportu pokrycia kodu, sprawdź, czy rozmiar pliku index.html jest zbliżony do lub większy niż 7 MB. Wykonaj poniższe kroki, aby sprawdzić rozmiar pliku. Następnie, jeśli rozmiar pliku jest zbliżony do lub większy niż 7 MB, możesz użyć następującego obejścia, aby wyświetlić raport pokrycia.

  1. Wybierz kartę podsumowania kompilacji , a następnie wybierz link opublikowany:

    Zrzut ekranu przedstawiający opublikowany link w okienku Podsumowanie.

  2. Obok artefaktu pokrycia kodu Report_* wybierz pozycję Pobierz artefakty:

    Zrzut ekranu przedstawiający link Pobierz artefakty dla raportu pokrycia kodu w obszarze Artefakty.

  3. Po pobraniu raportu pokrycia kodu wyodrębnij plik .zip.

  4. W raporcie pokrycia kodu sprawdź rozmiar index.html, aby określić, czy rozmiar pliku powoduje problem opisany tutaj.

  5. Otwórz index.html w przeglądarce, aby wyświetlić raport pokrycia kodu.

Wymagania

Wymaganie Opis
Typy potoków YAML, klasyczna kompilacja
Działa na Agent, DeploymentGroup
Wymagania Żaden
możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
ograniczenia poleceń Jakikolwiek
zmienne ustawiane To zadanie ma uprawnienia do ustawić następujące zmienne: Ustawienie zmiennych jest wyłączone
Wersja agenta 2.182.1 lub nowsza
Kategoria zadań Test
Wymaganie Opis
Typy potoków YAML, klasyczna kompilacja
Działa na Agent, DeploymentGroup
Wymagania Żaden
możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
ograniczenia poleceń Jakikolwiek
zmienne ustawiane Jakikolwiek
Wersja agenta 2.102.0 lub nowsza
Kategoria zadań Test

Zobacz też