Публикация нескольких покрытий cobertura с помощью TFS CI
У меня есть проект monorepo, созданный совместно с lerna. И я использую Karma+Jasmine для юнит-тестирования. Структура проекта выглядит следующим образом:
|-packages
| |-package1
| | |-coverage
| | | |-cobertura
| | | | |-coverage.xml // here goes the coverage report in cobertura format
| | | |-Browser1
| | | | |-html // here goes the reports in html (istanbul) for Browser 1
| | | |-Browser2
| | | |-html // here goes the reports in html (istanbul) for Browser 2
| | |-src
| | |-tests
| |-package2
| | |-coverage
| | | |-cobertura
| | | | |-coverage.xml
| | | |-Browser1
| | | | |-html
| | | |-Browser2
| | | |-html
| | |-src
| | |-tests
| .
| .
| .
|-karma.conf.js
Тестовая установка работает должным образом и генерирует отчеты html, а также coverage.xml
в формате Cobertura внутри каждого отдельного пакета. В TFS CI у меня есть шаг сборки "опубликовать результаты покрытия кода", чтобы опубликовать результаты покрытия со следующими значениями для различных опций:
- Инструмент Покрытия Кода:
Cobertura
- Итоговый Файл:
$(System.DefaultWorkingDirectory)packages*coveragecoberturacoverage.xml
- каталог отчетов:
$(System.DefaultWorkingDirectory)packages*coverage
(для отчетов HTML)
Однако шаг сборки предупреждает о следующем
Было найдено несколько совпадений файлов или каталогов. Используя первую спичку: C:MyAgentpathtopackagespackage1coveragecoberturacoverage.xml
Было найдено несколько совпадений файлов или каталогов. Используя первую спичку: C:MyAgentpathtopackagespackage1coverage
Естественно, он также показывает результаты покрытия только для одного пакета. Есть ли способ опубликовать все отчеты о покрытии без добавления шага сборки в CI для каждого пакета?
1 ответ:
Похоже, что вы используете задачу опубликовать результаты покрытия кода, это не похоже на Задачу опубликовать результаты тестирования. Невозможно опубликовать несколько результатов теста покрытия в одной задаче.
Аргументами этой задачи является сводный файл не похожий на файлы результатов тестов из опубликовать результаты тестов
В вашей файловой структуре есть два файла
coverage.xml
. Поэтому он будет использовать только первое совпадение, как и упоминалось в сообщении. исходный код задание для вашей справки.Необходимо добавить еще одну задачу опубликовать результаты покрытия кода в конвейере сборки для каждого пакета.