2016-06-24 77 views
2

使用Jenkins我想將Nunit任務和OpenCover任務的結果傳遞給SonarQube。未在SonarQube中顯示單元測試

SonarQube正確顯示測試覆蓋範圍,但沒有單元測試結果的痕跡。

這裏是我做的:

  1. 通過NUnit的生成Visual Studio項目與MSBuild的
  2. 爲opencover批處理窗口
  3. 啓動SonarQube掃描器 批窗戶deployement

這裏我的聲納掃描儀任務的實際屬性:

sonar.projectKey=FC 
sonar.projectName=FC 
sonar.projectVersion=%SVN_REVISION% 
sonar.sources=src 
sonar.binaries=build 
sonar.exclusions=src/FC.Test/**/*.* 
sonar.tests=src/FC.Test 
sonar.cs.nunit.reportsPaths=TestResult.xml 
sonar.cs.opencover.reportsPaths=reports/opencovertests.xml 

我使用SonarQube 5.6,詹金斯2.10,SonarQube插件2.4.3,OpenCover 4.5和NUnit 2.6.4

是否有任何已知的問題(兼容性問題)?

請注意,我嘗試用Prepare和Terminate Sonar分析任務包裝我的過程,但系統地刪除了覆蓋面板。所以我刪除它。

編輯2017

我停止了這樣做。我明白這樣做的好方法是使用MSBuild的SonarQube掃描儀,它集成在Jenkins的插件中。 覆蓋面板未顯示,因爲我沒有正確配置我的質量配置文件。

但是...

我仍然沒有我的測試結果在聲納。

我檢查了我的報告的絕對路徑和sonarQube的解析:「INFO: Sensor C# Unit Test Results Import [csharp] (done) | time=25ms」。我也嘗試了一個.nunit文件。我看到在opencover上應用一個過濾器會有所幫助,所以我做到了。

你有線索嗎?

回答

2

掃描C#項目需要使用MSBuild的聲納掃描儀,並按照特定的3個步驟過程,我猜你現在不遵循。請參閱關於以下三個步驟的文檔:http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuildhttp://docs.sonarqube.org/display/SCAN/From+Jenkins

您的屬性外觀正確。然而,他們不得在聲納性能提供文件,而是在MSBuild.SonarQube.Runner.exe的命令行參數開始一步,例如:

MSBuild.SonarQube.Runner.exe begin <allMandatoryParameters> /d:sonar.cs.nunit.reportsPaths=TestResult.xml /d:sonar.cs.opencover.reportsPaths=reports\opencovertests.xml 

奧利維爾

+0

我意識到,我的第一篇文章是模糊的。我添加了細節。請看一看。 – jBravo

相關問題