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 МБ, можно воспользоваться следующим обходным решением для просмотра отчета об объеме покрытия.
Перейдите на вкладку Сводка сборки и выберите опубликованную ссылку:
Рядом с артефактом Report_ покрытия кода* выберите Скачать артефакты:
После скачивания отчета об объеме протестированного кода извлеките файл .zip.
В отчете об объеме протестированного кода проверка размер index.html, чтобы определить, является ли размер файла причиной проблемы, описанной здесь.
Откройте index.html в браузере, чтобы просмотреть отчет об объеме протестированного кода.
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка |
Выполняется в | Агент, DeploymentGroup |
Требования | None |
Capabilities | Эта задача не удовлетворяет требованиям для последующих задач в задании. |
Ограничения команд | Любой |
Устанавливаемые переменные | Эта задача имеет разрешение на установку следующих переменных: параметр переменных отключен |
Версия агента | 2.182.1 или более поздней версии |
Категория задач | Тест |
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка |
Выполняется в | Агент, DeploymentGroup |
Требования | None |
Capabilities | Эта задача не удовлетворяет требованиям для последующих задач в задании. |
Ограничения команд | Любой |
Устанавливаемые переменные | Любой |
Версия агента | 2.102.0 или более поздней версии |
Категория задач | Тест |