2016-07-16 6 views
1

私のC#プロジェクトを参照しているAtlassian Bambooプランがあります。構成されたタスクは次のとおりです。SonarQubeプロジェクトでAtlassian Bambooと統合された場合のコードカバレッジが空白にならない

a)C#ソリューションファイルをビルドするためのMSBuildタスク。 b)Unitテストを実行するNUnit RunnerタスクとNUnit Parserタスク。 c)NUnitユニットテストを実行し、対象となる回線、ブランチカバレッジなどのメトリックを生成するOpenCoverタスクd)SonarQubeプロジェクトでコードカバレッジメトリックを生成するSonarQubeランナータスク。

メトリックはステップc)で正常に生成され、結果はOpenCoverコマンドの出力として.xmlファイルに書き出されます。しかし、ステップd)の後、SonarQubeランナーは正常に実行され、Sonarプロジェクトの単体テスト数、テスト合格、スキップされたテスト、テスト失敗の点で結果が表示されます。しかし、コードカバレッジの列には空白が表示されます。

私のC#ソリューションは複数のプロジェクトであり、ルート(ソリューション)レベルにはsonar-project.propertiesファイルがあります。 私は、次のSonar-project.propertiesファイルを使用します。

sonar.projectKey=<KeyName> (Key name of C# project in SonarQube) 
sonar.projectName=<ProjectName> (Project name in SonarQube) 
sonar.projectVersion=1.0 
sonar.sources=. 
sonar.language=cs 
sonar.cs.nunit.reportsPaths=ABC.xml(Output of Nunit task) 
sonar.cs.opencover.reportsPath=XYZ.xml(Output of OpenCover task) 

この点で私を導いてくださいを、任意のヘルプは大歓迎されます。

おかげ

+0

をスペルミスレポートパスが正しい - それは同じにすることはできません両方のファイル?もしそうなら、OpenCoverの出力ファイルにカバレッジ情報がありますか?私はソーナーがローカルにホストされていて、nemo.sonarsource.orgに対して働いていた - 投稿を参照してくださいhttps://blog.many-monkeys.com/improving-your-source-code/ –

+0

@ShaunWilde:はい、私は2つの異なるNUnitおよびOpen Coverタスクのファイル名を出力します。また、XYZ.xmlファイルでラインカバレッジ、ブランチカバレッジなどのOpen Coverの出力を見ることもできます。しかし、BambooでSonarQube Runnerタスク(v 2.4)を実行すると、SonarQubeレポートのコードカバレッジ列に「 - 」と表示されません。しかし、渡されたテストの数、失敗したテストなどの他のすべての列は、細かく設定されています。だから、ソナープロジェクトのプロパティファイルに行がないかどうか分かりません。 Sonar Runnerタスクに.batファイルを使用する必要がありますか? – Vineet

+0

ビルドスクリプトで - https://github.com/SonarSource-VisualStudio/sonar-scanner-msbuild/releasesを使用しました - ここでその使用例を見ることができますhttps://github.com/MYOB-Technology/ AccountRight_Live_API_.Net_SDK/blob/master/sonar.bat –

答えて

0

非常に遅く答えが、それは将来的に誰かを助けるかもしれない:

あなたのラインでreportsPaths

sonar.cs.opencover.reportsPath=XYZ.xml 
関連する問題