2012-08-10 235 views
3

我有一個使用maven構建的項目,我最近集成了Sonar ...真的很容易配置Sonar來分析您的項目,但我無法配置它來運行我的項目單元測試也。我使用Jacoco嘗試了一些東西,但是我得到了一些Seam錯誤,並且所有其他測試都跳過了。順便說一句,我使用TestNG手動運行測試。Sonar如何成功運行單元測試

+0

你可以發佈一步一步的行動來分析項目?你可能會錯過一些步驟。 – 2012-08-10 14:59:14

回答

1

聲納無法運行測試,它只能分析測試報告。

您可以運行自己的JUnit(使用Maven或Ant進行爲例),並推報告聲納(嘗試聲納的Maven的plugin爲)

,或者你可以給自己建立工廠(嘗試hudson的爲例)和塞它到sonar

+0

那麼我想重新使用TestNG結果。是不是顯示聲納通往這些結果的路徑(xml文件)? – spauny 2012-08-10 13:30:29

+0

這不是真的,Sonar可以運行測試。如果你查看文檔http://docs.codehaus.org/display/SONAR/Analyzing+with+Maven,你會看到他們建議關閉Maven構建中的測試,以避免它們運行兩次,一次構建時,一次當你使用Sonar時。 – 2013-08-18 12:59:40

+0

你所說的兩個分析都是用maven運行的: maven安裝目標中的第一個, maven聲納目標中的第二個 – mabroukb 2013-08-25 09:00:46

2

您可以使用聲納的相關Analysis Parameters重新使用早期運行的測試報告。您可以將sonar.dynamicAnalysis屬性設置爲reuseReports,並根據您如何運行測試,在sonar.jacoco.reportPathsonar.surefire.reportPath中指定報告的位置。

順便說一下,mvn sonar:sonar調用maven的test目標,該目標運行單元測試作爲分析的一部分。所以如果你的maven可以運行單元測試,理想情況下,聲納應該能夠運行它們。

相關問題