Проблема с Devure в Azure с покрытием кода сонарным облаком - PullRequest
0 голосов
/ 29 июня 2019

В лазурном конвейере devops у меня есть следующие этапы.

  • Подготовка анализа на облаке сонара
  • восстановление dotnet
  • сборка dotnet
  • проверка dotnet
  • публикация в dontnet
  • копировать тестовые файлы .. это для копирования (* .trx * .xml) в соответствующий каталог.
  • Выполнение анализа кода
  • Публикация результатов проверки качества.

здесь мой конвейер успешно работает с тестами, но он не дает покрытия кода.Покрытие кода, показывающее 0,00%

*. Файл trx копируется по требуемому пути, и я также пробовал использовать путь по умолчанию для файла trx, но в журналах указано его сообщение ниже.

СООБЩЕНИЕ ОБ ОШИБКЕ

Post-processing started.
00:23:49.775  Property 'sonar.cs.vstest.reportsPaths' provided, skipping the search for TRX files in default folders.
00:23:49.995  Did not find any binary coverage files in the expected location.
00:23:49.995  Falling back on locating coverage files in the agent temp directory.
00:23:49.995  Searching for coverage files in D:\a\_temp
00:23:49.995  No coverage files found in the agent temp directory.
WARNING: The following projects do not have a valid ProjectGuid and were 
not built using a valid solution (.sln) thus will be skipped from 
analysis...
D:\a\1\s\Rost.API.Tests\Rost.API.Tests.csproj

Я ожидаю покрытия кода в конвейере, в настоящее время покрытие кода показывает 0,00%.

1 Ответ

1 голос
/ 02 июля 2019

Могу ли я подтвердить несколько вопросов с вами?

  1. Вы добавили параметр --collect "Code coverage" в аргументы командной строки? enter image description here

Покрытие кода можно получить, добавив --collect "Покрытие кода" вариант аргументов командной строки. Это в настоящее время доступно только на платформе Windows.

  1. Если запустить тестовую команду на локальном компьютере, правильно ли отображается покрытие кода?

Кстати, SonarQube требуется действительный GUID проекта, но основные проекты фактически его не используют. Рекомендуется добавить ProjectGUID в файл тестового проекта.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <!-- SonarQube requires a valid Project GUID but Core projects dont actually use this -->
    <ProjectGuid>{9C99E491-F56E-4515-9F0B-D72A5207DB13}</ProjectGuid>
  </PropertyGroup>
</Project>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...