Azure DevOps: как объединить два отчета о покрытии кода для разных тестов (.net core, angular)

У нас в конвейере есть два разных типа тестов: модульные (ядро .net) и интерфейс (angular / karma). Каждый из них может публиковать отчет о покрытии кода через «PublishCodeCoverageResults @ 1», но только на лицевой или оборотной стороне. Это зависит от того, какой тест запускается последним. Я думаю, что последнее сообщение переписывает предыдущее. Однако нам нужно опубликовать оба покрытия кода.

Есть ли способ объединить 2 отчета о покрытии, а затем опубликовать их на одной вкладке "Покрытие кода" или добавить вторую вкладку?


person Dmitry Zimin    schedule 30.09.2019    source источник


Ответы (1)


Есть ли способ объединить 2 отчета о покрытии, а затем опубликовать их на одной вкладке "Покрытие кода" или добавить вторую вкладку?

AFAIK, ReportGenerator может объединять несколько файлов покрытия в один, например объединить несколько XML-файлов Cobertura в один XML-файл Cobertura:

Дополнительные сведения см. В документе ReportGenerator.

Вы можете выполнить следующие действия в Azure DevOps:

  • Установите расширение ReportGenerator: https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator
  • Настройте задачу ReportGenerator для создания HTML и Cobertura (по умолчанию)
  • Настройте задачу публикации результатов покрытия кода и укажите в ней каталог файлов HTML и объединенный файл Cobertura, созданный ReportGenerator.

В настоящее время задача «Опубликовать результаты покрытия кода» восстанавливает отчет в формате HTML. Чтобы этого избежать, вам нужно создать новую переменную среды: disable.coverage.autogenerate: 'true'

Дополнительные сведения см. В этой ветке.

Надеюсь это поможет.

person Leo Liu-MSFT    schedule 01.10.2019