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.

Ważne

To zadanie jest przestarzałe. Zaleca się użytkownikom przełączenie się na PublishCodeCoverageResults@2. Aby uzyskać więcej informacji, zobacz New version of Publish Code Coverage Results task (Nowa wersja zadania Publikowania wyników pokrycia kodu).

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

Składnia

# 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.

Dane wejściowe

codeCoverageTool - Narzędzie 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 klas. 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ą bezwzględnej ścieżki 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 do opublikowania 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 zadania

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

Zmienne wyjściowe

Brak.

Uwagi

Ważne

To zadanie jest przestarzałe. Zaleca się użytkownikom przełączenie się na PublishCodeCoverageResults@2. Aby uzyskać więcej informacji, zobacz New version of Publish Code Coverage Results task (Nowa wersja zadania Publikowania wyników pokrycia kodu).

Uwaga

Aby uzyskać informacje o nowych funkcjach w wersji 2 zadania Publikuj wyniki pokrycia kodu , zobacz blog usługi Azure DevOps , aby uzyskać informacje o nowych funkcjach w wersji 2 zadania Publikowanie wyników pokrycia kodu i migracji z wersji 1 do wersji 2.

To zadanie w potoku kompilacji służy do publikowania wyników pokrycia kodu generowanych 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 Visual Studio Test, .NET Core, Ant, Maven, Gulp i Grunt , udostępniają również opcję publikowania 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 framework 2.0.0 lub nowszej w agencie. Folder dotnet musi znajdować się w ścieżce środowiska. Jeśli istnieje wiele folderów zawierających bibliotekę dotnet, musi znajdować się na liście ścieżek w wersji 2.0.0.

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

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

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

Docker

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 zadaniu Publikuj wyniki pokrycia kodu . Aby zapoznać się z dokumentacją, możesz zobaczyć podobny przykład publikowania wyników testów w sekcji Kompilowanie, testowanie i publikowanie wyników za pomocą pliku platformy Docker dla platformy 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 dostarczanych wiele plików jako dane wejściowe zadania lub wiele zadań?

Obecnie funkcjonalność raportowania pokrycia kodu zapewniana przez to zadanie jest ograniczona i nie scala 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 plikiemindex.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ę Podsumowanie kompilacji, a następnie wybierz opublikowany link:

    Zrzut ekranu przedstawiający opublikowany link w okienku Podsumowanie.

  2. Obok artefaktu Pokrycie 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 w Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable To zadanie ma uprawnienia do ustawiania następujących zmiennych: Ustawienie zmiennych jest wyłączone
Wersja agenta 2.182.1 lub nowsza
Kategoria zadania Testowanie
Wymaganie Opis
Typy potoków YAML, kompilacja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable Dowolne
Wersja agenta 2.102.0 lub nowsza
Kategoria zadania Testowanie

Zobacz też