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