2016-04-22 17 views
2

sonarqube-5.4,MSBuild.SonarQube.Runner-2.0、VS 2013(ターゲット.NET Framework 4.5.1)、SQL Server 2014 Express、Windows 7 Professional SP1 64-bit OSのSonarQubeをセットアップしました。複数のプロジェクトを持つ.NETソリューションのMSBuild.SonarQube.Runnerの実行方法?

1つの.NETプロジェクト(.csproj)に対してsonarqubeランナーを正常に実行し、結果を生成できます。今度は、多くの.csprojエントリを持つ.NETソリューション(.sln)に対してMSBuild.SonarQube.Runner-2.0を実行したいと思います。

フォルダ構造は以下の通りである:

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

単体テストの除外を除いて、ほぼすべてがここに含まれています。あなたのユニットテストの質問については

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

を:あなたは自分のRootFolderから次のことを実行することができます全体のソリューションを実行するには

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

。ほとんどの人は、プロジェクトにテストコードを含めないことを選択します。これはsonarqube UIの正規表現を介して行われます:Administration-> Scanner for MSBuild。この正規表現をあなたのテストプロジェクトにマッチしないものに変更すると、その正規表現がインクルードされます。

+0

返答いただきありがとうございます。私も同じことをしました。テストプロジェクト(ProjectABC.Tests.csproj、ProjectXYZ.Tests.csprojなど)を除外するために正規表現 "/.Tests/"を追加しましたが、テストプロジェクトも評価されてから解析が失敗します。テストプロジェクトを実行から除外する方法 – Bhanu

+0

デフォルトの正規表現では、指定した名前のテストを除外する必要があります。独自のものがない場合は、デフォルトに戻してランナー出力へのリンクを投稿してください。 –

関連する問題