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


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

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

Важно!

Эта задача является устаревшей. Пользователям рекомендуется переключиться на PublishCodeCoverageResults@2. Дополнительные сведения см. в статье Новая версия задачи Публикация результатов покрытия кода.

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

Синтаксис

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

Входные данные

codeCoverageTool - Средство покрытия кода
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.

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


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

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

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

Нет.

Remarks

Важно!

Эта задача является устаревшей. Пользователям рекомендуется переключиться на PublishCodeCoverageResults@2. Дополнительные сведения см. в статье Новая версия задачи Публикация результатов покрытия кода.

Примечание

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

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

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

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

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

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

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

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

Docker

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

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

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

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

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

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

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

  1. Перейдите на вкладку Сводка сборки и выберите опубликованную ссылку:

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

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

    Снимок экрана: ссылка

  3. После скачивания отчета об объеме протестированного кода извлеките файл .zip.

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

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

Требования

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

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