Sonar & Gallio: Gallio не будет работать, так как нет тестовых проектов - PullRequest
7 голосов
/ 11 ноября 2011

Я установил Sonar и настроил его для анализа наших (.NET) проектов (используя Sonar-Runner). Все отлично работает, кроме тестов (MsTest). Я погуглил, потратил довольно много времени, просто пытаясь, но безуспешно. Каждый раз, когда я запускаю sonar-runner, я вижу одну и ту же строку в выводе:

Gallio won't execute as there are no test projects

Я даже создал новое решение с 2 проектами:

  • TestProject => «Основной» проект, имеет только 1 класс
  • TestProject.UnitTests => имеет несколько простых модульных тестов для класса в TestProject

В моем файле sonar.properties для решения у меня есть следующая строка:

sonar.dotnet.visualstudio.testProjectPattern=*.UnitTests

Запустив анализ, все работает отлично, и я получаю результат, за исключением еще раз: «тестовые проекты не найдены».

На самом деле я пробовал много вещей с этим свойством, но ни одно из них не было успешным. Я также попробовал с прямым путем к dll, со свойством:

sonar.dotnet.test.assemblies=D:\\Projects\\TestProject\\TestProject.UnitTests\\bin\\Debug\\TestProject.UnitTests.dll

и некоторые другие пути (относительные и т. Д.), Но все же: Тестовые проекты не найдены.

Есть ли кто-нибудь, кто имеет некоторый опыт в этом и может помочь мне с этой проблемой?

PS. Когда я запускаю Gallio самостоятельно, он работает, тесты выполняются и т. Д. Кроме того, путь к Галлио в свойствах сонара правильный.

1 Ответ

11 голосов
/ 17 ноября 2011

Согласно исходному коду (спасибо grepcode.com) для плагина Sonar C-sharp, проект квалифицируется как тестовый проект, если его имя сборки соответствует testProjectPattern, который по умолчанию равен "* .Tests". Его также можно установить в sonar-project.properties, например так:

sonar.donet.visualstudio.testProjectPattern=*.UnitTests

Обратите внимание на орфографическую ошибку (donet) ... (!)

...