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.

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


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

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

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

Нет.

Remarks

Примечание

Сведения о новых функциях в версии 2 задачи "Публикация результатов покрытия протестированного кода" в блоге Azure DevOps см. в статье Новая версия задачи "Публикация результатов покрытия кода" и переход с версии 1 на версию 2.

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

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

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

Предварительное требование. Чтобы использовать задачу Publish Code Coverage Results версии 2 в конвейере, используйте задачу dotnet 7.0.x в качестве предварительного требования в конвейере. Используйте задачу dotnet core перед задачей Publish Code Coverage версии 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 с помощью следующих параметров.

    Снимок экрана: задача Publish Code Coverage Results версии 2

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

    Снимок экрана: вкладка

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

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

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

Docker

Для приложений, использующих Docker, сборка и тесты могут выполняться внутри контейнера и генерировать результаты покрытия кода в контейнере. Чтобы опубликовать результаты в конвейере, результирующие артефакты должны быть доступны для задачи Публикация результатов покрытия кода . Для справки вы можете увидеть аналогичный пример публикации результатов теста в разделе Сборка, тестирование и публикация результатов с помощью файла Docker для Docker.

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

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

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

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

Требования

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

См. также раздел