2016-04-22 1 views
2

У меня есть настройка SonarQube со следующим: sonarqube-5.4, MSBuild.SonarQube.Runner-2.0, VS 2013 (целевая .NET Framework 4.5.1), SQL Server 2014 Express, Windows 7 Professional SP1 64-разрядная ОС.Как выполнить MSBuild.SonarQube.Runner для решения .net, которое имеет несколько проектов?

Я могу успешно выполнить sonarqube runner для одного .NET проекта (.csproj) и сгенерировать результаты. Теперь я хотел бы выполнить MSBuild.SonarQube.Runner-2.0 для .NET-решения (.sln), который имеет много записей .csproj.

Структура папки, как показано ниже:

RootFolder имеет .sln файл, и каждый проект (.csproj) создается в отдельной папке внутри корневой папки. Модульные тесты для каждого проекта также создаются в отдельной папке внутри корневой папки. Например:

RootFolder -> Project.sln 
RootFolder -> ProjectABCFolder -> ProjectABC.csproj 
RootFolder -> ProjectABCTestsFolder -> ProjectABCTests.csproj 
RootFolder -> ProjectXYZFolder -> ProjectXYZ.csproj 
RootFolder -> ProjectXYZTestsFolder -> ProjectXYZTests.csproj 

Помогите мне в следующем:

  1. Как выполнить .sln-файл - какие требуемые записи/настройки необходимо выполнить?
  2. Как пропустить проекты тестирования модулей?
  3. Как включить проекты тестирования модулей?
  4. Как выполнить анализ кода VS?

ответ

2

Практически все это рассматривается здесь как исключение для исключения единицы измерения.

http://docs.sonarqube.org/display/SCAN/From+the+Command+Line

Для запуска для всего решения, вы должны иметь возможность просто запустить следующие из вашего RootFolder:

MSBuild.SonarQube.Runner.exe begin // Other args 
msbuild /t:Rebuild Project.sln 
MSBuild.SonarQube.Runner.exe end 

Как для модульных тестовых вопросов. Большинство людей предпочитают не включать тестовый код в проект. Это выполняется через регулярное выражение в пользовательском интерфейсе sonarqube: Administration-> Scanner для MSBuild. Изменение этого регулярного выражения на то, что не соответствует вашим тестовым проектам, приведет к их включению.

+0

Спасибо за ответ, я сделал то же самое. Я добавил регулярное выражение «/.Tests/», чтобы исключить тестовые проекты (ProjectABC.Tests.csproj, ProjectXYZ.Tests.csproj и т. Д.). Но все же тестируемые проекты также оцениваются, а затем анализ не выполняется. Как исключить тестовые проекты из исполнения? – Bhanu

+0

Регулярное выражение по умолчанию должно быть исключать тесты с указанным вами именем. Измените его на значение по умолчанию и опубликуйте ссылку на вывод бегуна, если в нем нет ничего запатентованного. –

Смежные вопросы