2017-05-18 36 views
0

我們在版本6.3.1中使用SonarQube,並且對功能非常滿意。在代碼分析中包含單元測試

但是我們想要包含測試代碼進行分析。更具體的包括他們的分析,但排除他們的重複和代碼覆蓋率。

我們目前的配置是這樣的:

sonar.sources=src/src 
sonar.tests=src/tests, src/jsTests 

sonar.test.inclusions=src/jsTests/**, src/tests/** 

至於我們所看到的,聲納自動分析不包括我們的測試:

10:20:37.223 INFO - Excluded sources: 
10:20:37.223 INFO - **/Externals/** 
10:20:37.223 INFO - src/jsTests/** 
10:20:37.223 INFO - src/tests/** 
10:20:37.223 INFO - Included tests: 
10:20:37.223 INFO - src/jsTests/** 
10:20:37.223 INFO - src/tests/** 

這是我們想改變什麼。有任何想法嗎?

+0

你想提出測試文件的「正常」規則的問題? –

+0

是的,我們希望在測試中獲得一些質量 –

回答

0

的SonarJava分析儀包括具體的測試規則,如S2699「測試應包括斷言」作爲測試來分析他們的健身。如果包含在您的配置文件中,那些規則將自動運行,並且僅針對測試文件。 「正常」規則不針對測試文件運行。

要分析測試文件中代碼本身的質量,您需要設置一個單獨的分析,將sonar.sources設置爲測試的位置。然後,您可以根據Pierre-Yves的建議設置覆蓋範圍和重複排除項,但我會通過用戶界面來完成,而不是在分析屬性中。

0

更改您的配置,以便您的測試被視爲源文件。嘗試是這樣的:

sonar.sources=src/src, src/tests, src/jsTests 
sonar.tests= 
sonar.test.inclusions= 
sonar.coverage.exclusions=src/tests/**, src/jsTests/** 
sonar.cpd.exclusions=src/tests/**, src/jsTests/** 
+0

這不起作用,我們得到以下錯誤: 錯誤:導致:測試執行報告解析期間出錯testReport.xml 錯誤:導致:報告的第3行指向一個未配置爲測試文件的文件:/src/jsTests/Tests/MyTest.js –

相關問題