Поделиться через


PublishCodeCoverageResults@2. Публикация результатов покрытия кода версии 2

Используйте эту задачу, чтобы получить результаты покрытия кода из сборки.

Синтаксис

# Publish code coverage results v2
# Publish any of the code coverage results from a build.
- task: PublishCodeCoverageResults@2
  inputs:
    summaryFileLocation: # string. Required. Path to summary files. 
    #pathToSources: # string. Path to Source files. 
    #failIfCoverageEmpty: false # boolean. Fail if code coverage results are missing. Default: false.

Входы

summaryFileLocation - Путь к сводным файлам
string. Обязательно.

Указывает путь к сводке файла, содержащего статистику покрытия кода, например строку, метод и покрытие классов. Несколько сводных файлов объединяются в один отчет. Значение может содержать шаблоны миниматча. Например, $(System.DefaultWorkingDirectory)/MyApp/**/site/cobertura/coverage.xml. Дополнительные сведения о шаблонах миниматч.


pathToSources - пути к исходным файлам
string.

Указание пути к исходным файлам требуется, если xml-отчеты покрытия не содержат абсолютный путь к исходным файлам. Например, отчеты JaCoCo не используют абсолютные пути, поэтому при публикации покрытия JaCoCo для приложений Java шаблон аналогичен $(System.DefaultWorkingDirectory)/MyApp/src/main/java/. Этот вход должен указывать на абсолютный путь к исходным файлам на узле. Например, $(System.DefaultWorkingDirectory)/MyApp/.

Эти входные данные можно использовать, если тесты выполняются в контейнере Docker.


failIfCoverageEmpty - Сбой, если результаты покрытия кода отсутствуют
boolean. Значение по умолчанию: false.

Завершается сбоем задачи, если покрытие кода не дает никаких результатов для публикации.


Параметры управления задачами

Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.

Выходные переменные

Никакой.

Замечания

Используйте эту задачу в конвейере сборки для публикации результатов покрытия кода, полученных при выполнении тестов в Azure Pipelines или TFS, а также после создания XML-файлов покрытия покрытия, чтобы получить сведения о вкладке покрытия кода и отчетах о покрытиях в конвейере. Задача поддерживает форматы xml для покрытия кода. Эта задача создает файл cjson, содержащий сведения о охвате кода. Он также создаст HTML-отчет покрытия кода в артефактах сборки.

Эта задача поддерживается только в конвейерах сборки, а не конвейерах выпуска.

Такие задачи, как тест Visual Studio, .NET Core, Ant, Maven, Gulpи Grunt также предоставляют возможность публикации данных о покрытиях кода в конвейере. Если вы используете эти задачи, в конвейере не требуется отдельная задача "Результаты покрытия кода публикации".

Предварительные требования. Чтобы использовать задачу "Результаты покрытия кода публикации версии 2" в конвейере, используйте задачу dotnet 7.0.x в качестве предварительных требований в конвейере. Используйте задачу dotnet core перед задачей "Публикация покрытия кода версии 2".

Необходимые условия

Чтобы настроить необходимые компоненты с помощью конвейера YAML, выполните следующие действия.

# Dotnet core sdk task 7.0.x
- task: UseDotNet@2
  displayName: 'Use .NET Core sdk 7.0.x'
  inputs:
    version: 7.0.x

Чтобы настроить необходимые компоненты с помощью конструктора, выполните следующие действия.

снимок экрана, на котором показана задача пакета SDK для .Net Core в конвейере.

  1. Настройте задачу "Результаты покрытия кода публикации" версии 2 с помощью следующих параметров.

    снимок экрана, на котором показана задача

  2. После завершения сборки и выполнения задачи "Публикация результатов покрытия кода версии 2" выберите вкладку покрытие кода в сводке выполнения конвейера, чтобы просмотреть результаты покрытия кода.

    снимок экрана, на котором показана вкладка

Результаты покрытия кода для JavaScript в Стамбуле с помощью YAML

Сведения о публикации результатов покрытия кода для JavaScript в Стамбуле с помощью YAML см. в разделе "Экосистемы" в разделе "Экосистемы", который также содержит примеры для других языков.

См. пример покрытия кода публикации с помощьюCobertura.

Докер

Для приложений с помощью Docker сборка и тесты могут выполняться внутри контейнера и создавать результаты покрытия кода в контейнере. Чтобы опубликовать результаты в конвейере, полученные артефакты должны быть доступны для задачи публикации результатов покрытия кода. Для справки вы можете увидеть аналогичный пример публикации результатов теста в разделе Build, test и publish results with a Docker file section for Docker.

Просмотр результатов

Чтобы просмотреть результаты покрытия кода в конвейере, ознакомьтесь с просмотр результатов покрытия кода.

Известные проблемы

Задача публикации результатов покрытия кода версии 2 создает файл cjson и публикует отчет о охвате кода на вкладке покрытия кода. Он также создает артефакты сборки, которые являются набором HTML-файлов, связанных из основного index.html файла. Если вкладка покрытия кода не отображает отчет о охвате кода, проверьте, находится ли xml-файл покрытия входного кода в правильном формате и содержит допустимые сведения.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка
Выполняется в Агент
требования Никакой
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любой
переменные settable Любой
Версия агента 2.144.0 или более поздней версии
Категория задач Тест

См. также