Как добавить модульное тестовое покрытие в SonarQube? Использование конвейера Azure-DevOps

Я пытаюсь добавить покрытие кода в sonarqube, тесты включены и выполняются, но процент покрытия равен 0,0.

В моем конвейере я получил «Подготовить анализ на SonarQube», а ключ проекта хорошо настроен в дополнительных свойствах, я поставил «sonar.cs.vscoveragexml.reportsPaths=**/*.coveragexml», но ничего не изменилось, я также пробовал без этого.

Другой шаг - «VsTest - testAssemblies», в котором я выбрал свой модульный тест и выбрал поле «Включено покрытие кода», а также еще два шага с «Выполнить анализ кода» и «Опубликовать результат проверки качества». Эти два шага аналогичны умолчанию, я попытался увеличить тайм-аут, но ничего не изменилось.

Выходной журнал в "VsTest - testAssemblies" был

Results File: X:\VSTSWork\52\s\TestResults\PRO_2019-05-09_20_07_48.trx

Attachments:
  X:\VSTSWork\52\s\TestResults\cdb1f30e-3958-4155-81e4-caa54693dfe9\PRO 2019-05-09 20_06_39.coverage

Total tests: 25. Passed: 25. Failed: 0. Skipped: 0.
Test Run Successful.

и в "Выполнить анализ кода"

20:08:05.303  Fetching code coverage report information from TFS...
20:08:05.308  Attempting to locate a test results (.trx) file...
20:08:05.364  Looking for TRX files in: X:\VSTSWork\52\TestResults, X:\VSTSWork\52\s\TestResults
20:08:05.366  The following test results files were found: X:\VSTSWork\52\s\TestResults\PRO_2019-05-09_20_07_48.trx
20:08:05.433  The following code coverage attachments were found from the trx files: X:\VSTSWork\52\s\TestResults\PRO_2019-05-09_20_07_48\In\PRO\PRO 2019-05-09 20_06_39.coverage
WARNING: File 'C:\Users\pro\.nuget\packages\runtime.win-x64.microsoft.netcore.dotnethostpolicy\2.1.0\runtimes\win-x64\native\hostpolicy.dll' is not located under the root directory 'X:\VSTSWork\52\s' and will not be analyzed.
WARNING: File 'C:\Users\pro\.nuget\packages\runtime.win-x64.microsoft.netcore.dotnethostresolver\2.1.0\runtimes\win-x64\native\hostfxr.dll' is not located under the root directory 'X:\VSTSWork\52\s' and will not be analyzed.
WARNING: File 'C:\Users\pro\.nuget\packages\xunit.runner.visualstudio\2.3.1\build\netcoreapp1.0\xunit.runner.visualstudio.dotnetcore.testadapter.dll' is not located under the root directory 'X:\VSTSWork\52\s' and will not be analyzed.
WARNING: File 'C:\Users\pro\.nuget\packages\xunit.runner.visualstudio\2.3.1\build\netcoreapp1.0\xunit.runner.reporters.netcoreapp10.dll' is not located under the root directory 'X:\VSTSWork\52\s' and will not be analyzed.
WARNING: File 'C:\Users\pro\.nuget\packages\xunit.runner.visualstudio\2.3.1\build\netcoreapp1.0\xunit.runner.utility.netcoreapp10.dll' is not located under the root directory 'X:\VSTSWork\52\s' and will not be analyzed.
Calling the SonarQube Scanner...
.
..
...

INFO: Sensor C# Tests Coverage Report Import [csharp]
INFO: Parsing the Visual Studio coverage XML report X:\VSTSWork\52\.\s\TestResults\PRO_2019-05-09_20_07_48\In\PRO\PRO 2019-05-09 20_06_39.coveragexml
INFO: Adding this code coverage report to the cache for later reuse: X:\VSTSWork\52\.\s\TestResults\PRO_2019-05-09_20_07_48\In\PRO\PRO 2019-05-09 20_06_39.coveragexml
WARN: The Code Coverage report doesn't contain any coverage data for the included files. For troubleshooting hints, please refer to https://docs.sonarqube.org/x/CoBh
INFO: Sensor C# Tests Coverage Report Import [csharp] (done) | time=3701ms
INFO: Sensor C# Unit Test Results Import [csharp]
INFO: Parsing the Visual Studio Test Results file X:\VSTSWork\52\s\TestResults\PRO_2019-05-09_20_07_48.trx
INFO: Sensor C# Unit Test Results Import [csharp] (done) | time=64ms
INFO: Sensor Zero Coverage Sensor
INFO: Sensor Zero Coverage Sensor (done) | time=363ms
INFO: Sensor CPD Block Indexer
INFO: Sensor CPD Block Indexer (done) | time=0ms
INFO: 49 files had no CPD blocks
INFO: Calculating CPD for 128 files
INFO: CPD calculation finished
INFO: Analysis report generated in 7191ms, dir size=810 KB
INFO: Analysis reports compressed in 1207ms, zip size=501 KB
INFO: Analysis report uploaded in 89ms
WARN: The Code Coverage report doesn't contain any coverage data for the included files. For troubleshooting hints, please refer to https://docs.sonarqube.org/x/CoBh. Вы начали с чтения связанной документации и опробовали предложенные там предложения?
Daniel Mann 09.05.2019 20:30

Да, и я пытался вставить что-то вроде этого d:propertyKey = "path" без каких-либо успехов

delfosk9 09.05.2019 20:38

Одна из моих попыток была такой: /d:sonar.verbose=true /d:sonar.cs.vscoveragexml.reportsPaths=**/*

delfosk9 09.05.2019 20:44
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
3
3 363
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Наконец, я нашел, что шло плохо,

Это решает для меня, когда я добавляю:

<DebugType>Full</DebugType>

В .csproj. Странно то, что другие проекты сообщили о некотором покрытии кода без этого свойства, поэтому я подумал, что оно мне не нужно.

Поэтому, если заявленное покрытие кажется ложным, попробуйте добавить это свойство в csproj.

Я нашел это в Публикация тестового покрытия нескольких проектов .NET Core из Azure DevOps на сервер SonarQube.

Другие вопросы по теме