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


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

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

Примечание.

PublishCodeCoverageResults@2 является самой новой версией задачи и должна использоваться в конвейерах. Задача версии 1 будет устарела.

Публикация результаты покрытия кода Cobertura или JaCoCo из сборки.

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

Синтаксис

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

Входы

средства покрытия кода
string. Обязательно. Допустимые значения: Cobertura, JaCoCo. Значение по умолчанию: JaCoCo.

Указывает средство, которое создает результаты покрытия кода.


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.

Можно добавить несколько источников, разделив каждый элемент списка символом ;, например pathToSources: $(System.DefaultWorkingDirectory)/path/to/first/source;$(System.DefaultWorkingDirectory)/path/to/second/source.


reportDirectory - каталог отчетов
string.

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


additionalCodeCoverageFiles - дополнительные файлы
string.

Указывает шаблон пути к файлу и заметит все дополнительные файлы покрытия кода, которые будут опубликованы как артефакты сборки. Значение может содержать шаблоны миниматча. Например, $(System.DefaultWorkingDirectory)/**/*.exec.


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

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


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

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

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

Никакой.

Замечания

Используйте эту задачу в конвейере сборки для публикации результатов покрытия кода при выполнении тестов в Azure Pipelines или TFS для получения отчетов о охвате. Задача поддерживает популярные форматы результатов покрытия, такие как Кобертура и JaCoCo.

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

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

Чтобы создать отчет о охвате HTML-кода, вам потребуется dotnet framework 2.0.0 или более поздней версии агента. Папка dotnet должна находиться в пути к среде. Если есть несколько папок, содержащих dotnet, один из них с версией 2.0.0 должен быть перед любыми другими в списке путей.

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

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

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

Докер

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

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

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

Объединяются ли данные покрытия кода, когда в конвейере предоставляются несколько файлов в качестве входных данных для задачи или нескольких задач?

В настоящее время функциональность отчетов о покрытиях кода, предоставляемая этой задачей, ограничена, и она не объединяет данные покрытия. Если вы предоставляете несколько файлов в качестве входных данных для задачи, считается только первое совпадение. Если в конвейере используется несколько задач покрытия кода публикации, для последней задачи отображается сводка и отчет. Все ранее отправленные данные игнорируются.

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

Задача результатов публикации кода создает и публикует HTML-отчет, который является набором HTML-файлов, связанных с основным файлом index.html. Если вкладка покрытия кода не отображает отчет о охвате кода, проверьте, близок ли размер файла index.html или больше 7 МБ. Выполните следующие действия, чтобы проверить размер файла. Затем, если размер файла близок или превышает 7 МБ, можно использовать следующее решение для просмотра отчета о охвате.

  1. Перейдите на вкладку "Сводка сборки ", а затем щелкните ссылку опубликованных:

    снимок экрана, на котором показана опубликованная ссылка на панели

  2. Рядом с артефактом Report_ покрытия кода * выберите скачать артефакты:

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

  3. После скачивания отчета о охвате кода извлеките файл .zip.

  4. В отчете о охвате кода проверьте размер index.html, чтобы определить, вызывает ли размер файла проблему, описанную здесь.

  5. Откройте index.html в браузере, чтобы просмотреть отчет о охвате кода.

Требования

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

См. также