SonarQube не будет анализировать проект C# под названием Test*

У меня есть проект под названием TestCommander, это не тестовый проект, а продукт, который помогает людям в организации проще писать интеграционные тесты.

Очевидно, я хочу проанализировать этот код С#. Но в настоящее время SonarQube игнорирует его, поскольку он называется Test *, правильно оценен?

Структура такая:

CompanyName.TestCommander
    - Commands
        - HttpGetCommand.cs
        - ...
    - TestScanner.cs
    - TestRunner.cs
    - CompanyName.TestCommander.csproj

Что я сделал:

  • Пробное включение источника: **/*.cs
  • Пробное тестовое включение: **/*.cs
  • Оба одновременно.
  • Более конкретное указание точных файлов, которые я хотел включить

Ни один из них не сработал.

Моя установка: внутренняя SonarQube 6.7 Автоматическая сборка в TFS 2017.3 с задачей VSTS версии 3.0.2


person Nings    schedule 29.11.2017    source источник


Ответы (1)


Проекты, в названии которых есть слово «Тест», считаются тестовыми проектами (например, содержащими только тесты), и результаты их анализа не передаются в SonarQube. Вы можете попробовать добавить /d:sonar.msbuild.testProjectPattern=<pattern> в список аргументов SonarQube.Scanner.MSBuild.exe begin или, в вашем случае, Advanced / Additional Settings, где <pattern> — это шаблон регулярного выражения .NET, который будет соответствовать именам ваших тестовых проектов, но не вашему основному проекту.

Мы изменим это поведение в ближайшем будущем, потому что мы хотели бы передавать результаты анализа тестов в SonarQube, но все равно по умолчанию проекты с Test в названии, скорее всего, будут считаться тестовыми проектами, и некоторые правила будут вести себя по-другому.

person Val    schedule 29.11.2017
comment
Работал. Не считал, что изменение необходимо было сделать на стороне MSBuild. Это где-то задокументировано? - person Nings; 29.11.2017
comment
@Nings да, но довольно сложно найти и распознать, что это связано с той же проблемой... docs.sonarqube.org/display/SCAN/Miscellaneous+Advanced+Usages - person Val; 29.11.2017
comment
@Valeri-SonarSource. Вы добавили анализ для тестовых проектов? потому что, когда я запускаю SonarQube в тестовом проекте, я вообще не получаю анализа... - person yossico; 23.01.2019