Как выполнить MSBuild.SonarQube.Runner для решения.net, которое имеет несколько проектов?
Я установил SonarQube со следующим: sonarqube-5.4
, MSBuild.SonarQube.Runner-2.0
, VS 2013 (целевой.NET Framework 4.5.1), SQL Server 2014 Express, 64-разрядная ОС Windows 7 Professional с пакетом обновления 1 (SP1).
Я могу выполнить 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
Можете ли вы помочь мне в следующем?
- Как выполнить файл.sln - какие обязательные записи / настройки нужно сделать?
- Как пропустить юнит тестовые проекты?
- Как включить проекты модульного тестирования?
- Как выполнить анализ кода VS?
1 ответ
Здесь почти все это покрыто исключением для исключения модульного теста.
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: Администрирование-> Сканер для MSBuild. Изменение этого регулярного выражения на то, что не соответствует вашим тестовым проектам, приведет к их включению.