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


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

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

Публикация результаты покрытия кода 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.
# 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.

Входы

средства покрытия кода
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 или более поздней версии
Категория задач Тест

См. также