Отсутствие покрытия кода в SonarCloud при сборке ядра Azure Devops .NET. - PullRequest
2 голосов
/ 06 июня 2019

Я настроил конвейер для своего проекта .NET Core в Azure Devops, используя шаблон «.NET Core with SonarCloud». При сборке анализ запускается в SonarCloud, но с охватом кода 0% (у меня есть тесты в моем решении).

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

Чего мне не хватает?

Я наткнулся на эту статью и https://dejanstojanovic.net/aspnet/2019/may/publishing-code-analysis-to-sonarcloud-from-azure-build-pipeline/ реализовал сценарий powershell, описанный в нем, но все же я не получаю покрытия кода в SonarCloud

Я пытался использовать покрывало, как описано здесь, но все еще не радует https://gunnarpeipman.com/aspnet/azure-devops-code-coverage/

Мой конвейер состоит из следующих задач

  • .NET Core - Восстановление
  • Подготовка конфигурации анализа
  • .NET Core - сборка
  • .NET Core - Тест
  • Выполнить анализ кода
  • Результат публикации качества ворот

Настроено мое тестовое задание:

Аргументы: --configuration $(BuildConfiguration)

Опубликовать результаты теста и покрытие кода - проверено

В консоли задачи «Выполнить анализ кода» я получаю:

10:43:54.7  Fetching code coverage report information from TFS...
10:43:54.702  Attempting to locate a test results (.trx) file...
10:43:54.753  Looking for TRX files in: C:\\TFSBuilds\\TJPYHG04-GHJ01\\_work\\475\\TestResults
10:43:54.755  No test results files found
10:43:54.81  Did not find any binary coverage files in the expected location.
10:43:54.811  Falling back on locating coverage files in the agent temp directory.
10:43:54.812  Searching for coverage files in C:\\TFSBuilds\\TJPYHG04-GHJ01\\_work\\_temp
10:43:54.814  No coverage files found in the agent temp directory.

1 Ответ

0 голосов
/ 07 июня 2019

Отсутствие покрытия кода в SonarCloud из сборки ядра Azure Devops .NET

Эта проблема может быть вызвана недавним изменением пути выхода vstest :

Выходной путь файла покрытия vstest изменяется с D:\a\1\s\TestResults\... на D:\a\_temp\...

, что нарушает последующие сценарии в конвейере (например, codecoverage.exe для преобразования в xml и более поздние версии)импортировать в sonarqube).

Microsoft предлагает использовать остальные API-интерфейсы для проверки артефактов теста и повторно загрузить их в агент сборки.

Подробнее об этой проблеме вы можете проверитьthread Расширение Azure DevOps (VSTS) больше не импортирует покрытие и автоматически тестирует для отслеживания проблем.

К счастью, команда SonarSourcer только что выпустила новые версии SonarQube (v4.6.3) иРасширения SonarCloud (v1.6.3) для решения проблемы покрытия и регрессии.

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

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