2016-07-07 70 views
0

我是新來的聲納並嘗試使用Sonar進行代碼分析,包括代碼覆蓋率,單元測試報告等。我能夠使用OpenCover生成報告,我正在使用C#。我的項目是jenkins工作的一部分,它建立了解決方案,爲Opencover運行腳本,然後使用'Execute sonarQube scanner'連接到聲納。我能夠查看結果作爲代碼異味,聲納問題。但是單元測試部分在所有部分都顯示0(失敗,錯誤,測試)。以下是sonar-project.properties中的聲納設置。聲納服務器顯示單元測試覆蓋率爲空雖然我使用的是開放式覆蓋

sonar.projectKey=TestCI 
sonar.projectVersion=1.0 
sonar.projectName=TestCI 
sonar.sources=. 
sonar.language=cs 
sonar.cs.vstest.reportsPaths="%WORKSPACE%\AutoBuildTest\Results.trx" 
sonar.dotnet.visualstudio.solution.file="%Workspace%\TestCI.sln" 
sonar.cs.msbuild.testProjectPattern=*Tests;*UnitTests 
sonar.cs.opencover.reportPaths="%WORKSPACE%\GeneratedReports\TestCI.xml" 
sonar.cs.vscoveragexml.reportsPaths="%WORKSPACE%\GeneratedReports\TestCI.xml" 

請幫忙。

+0

你有testci.xml文件中的內容嗎? –

+0

是的,但我發現聲納嘗試直接在工作區下讀取數據,而我的xml位於工作區內的目錄下,所以我試圖將它放在工作區級別,並查看聲納是否可以在更改後讀取它。 – Monica

+0

聲納現在可以讀取xml文件,但仍然執行失敗,並顯示消息「expectedTest」,但得到了「CoverageSession」 – Monica

回答

1

所以我試圖讓我的頭在這附近,谷歌搜索,並沒有找到具體的解決方案。

我是新來的CI,所以我不知道很多事情。我想爲我的.net應用程序執行代碼覆蓋,這是作爲jenkins作業運行的(構建和測試步驟已配置)。我也能夠整合sonarqube。

下一步是覆蓋代碼並在聲納中顯示輸出(全部作爲jenkins工作的一部分)。我嘗試了opencover,可以看到html輸出,但無法將其整合到聲納中。嘗試dotCover也沒有多大用處。我不知道伽利略如此試過,也沒有奏效。然後我開始發帖說伽利略不再被聲納支持(版本高於4.3,我的版本是5.3)。

因此,我不得不從零開始,留下露背和dotcover。我開始研究visual studio的代碼覆蓋工具,該工具顯然不支持我的版本(VS 2015專業版)。所以我將它改爲VS 2015 Enterprise。現在,我可以在「%VS_INSTALL_DIR%\ Microsoft Visual Studio 14.0 \ Team Tools \ Dynamic Code Coverage Tools」下訪問代碼覆蓋工具。下一步是將所有這些都集成到jenkins中。我必須使用代碼覆蓋工具(將我的測試項目dll作爲輸入)「收集」,然後對代碼覆蓋工具(基本上將「collect」中生成的二進制文件轉換爲xml文件)運行「analyze」。

現在,當我從我的機器上運行這個項目,從我的開發項目的DLL中,它一切正常,我可以運行聲納運行器(在改變到我的項目路徑後在命令行中)我可以看到聲納的神奇輸出服務器(在localhost:9000上運行的服務器)。但是當我在jenkins中重複使用(使用批處理命令)時,什麼都沒有發生。出了什麼問題

  1. 確保sonar-project.properties文件是正確的。
  2. 當我在聲納中找不到任何東西時,我檢查了由代碼覆蓋工具生成的xml文件(使用分析步驟)。有關dll的參考資料來自我本地的項目,而不是我在詹金斯建造的項目。我從github打開由jenkins下載的項目(作爲構建步驟的一部分)。參考一切都很好。測試項目指向從github下載的項目。那麼錯誤在哪裏?

我忘了重建解決方案,以便它將清除舊的引用並用新的位置創建新的引用。

它看起來很長的答案,但我花了更長的時間才能弄清楚(雖然我在我的[R & d時讀取它,但不明白爲什麼我需要它)

感謝肖恩的建議。我仍然無法弄清楚nemo.sonarsource.org上的opencover是如何運行的(版本爲5.6),但我會在其他日子保存它。

+0

我已經博客瞭解我是如何工作的 - https://blog.many-monkeys.com/improving-your-source-code/ –

相關問題