2013-12-10 29 views
0

我的Maven項目有多個可靠的執行配置,以確保不同的測試組通過對類路徑等的輕微修改得到rund(請參閱pom.xml)。運行構建作業時,測試按預期執行。如何防止SonarQube跳過額外的保證執行?

運行Maven Sonar插件的構建作業僅運行默認測試執行並跳過其他測試配置,這有效地導致Sonar報告0%的測試覆蓋率。我如何調整Maven Sonar插件以避免跳過額外的測試執行。日誌中的相關部分是here,完整日誌here

我想知道爲什麼額外的執行也會被跳過。

回答

0

SonarQube的目標不是運行你的單元測試,特別是當配置不標準時。對於您的信息,我們的長期目標是刪除此功能並只允許一種模式:reuseReports。

因此,您應該首先運行您的單元測試,並在運行SonarQube分析時重新使用這些生成的報告。見http://docs.codehaus.org/display/SONAR/Code+Coverage+by+Unit+Tests+for+Java+Project#CodeCoveragebyUnitTestsforJavaProject-ReusingExistingReports

+0

一個原因 - 如果不是*原因 - 使用Sonar不需要在一個pom中配置大量插件。運行單個測試執行和運行多個測試之間沒有任何邏輯差異。 [參考文檔](http://docs.codehaus.org/display/SONAR/Code+Coverage+by+Unit+Tests+for+Java+Project#CodeCoveragebyUnitTestsforJavaProject-ReusingExistingReports)聲明嵌入模式爲有效對象,所以我我想知道爲什麼這個模式沒有運行測試階段,而是單獨執行。 –