2014-12-20 91 views
1

即時通訊使用最新的sonarqube分析Java項目。在這個項目中,我有一個簡單的Range類,有2個長屬性 - 開始和結束。看着該類的覆蓋數據,當我看到這一點:聲納分支覆蓋顯示聲明的選擇太多

sonarqube coverage for asserts

基本上這意味着我必須通過這個構造114次不同的測試。我也有測試驗證每一個斷言那裏(所以一個負開始測試,另一負結束,第三個開始之前結束等)。

但sonarqube認爲有未覆蓋的分支。 assert start >= 0有4個分支是什麼?

回答

1

您的問題與SonarQube無關,因爲SonarQube只是讀取並處理由您的代碼覆蓋率工具生成的報告。如果你看看字節碼,那麼「assert」關鍵字可能會產生一些額外的代碼,從而產生一些額外的分支。例如,如果您的覆蓋工具是JaCoCo,請參閱https://groups.google.com/forum/#!topic/jacoco/kjhbX_ExrAA

+0

感謝您的有用鏈接。所以基本上我沒有辦法做到這一點,因爲jacoc沒有實施這個過濾? – radai

+0

正確,現在你無能爲力。隨時聯繫JaCoCo的工作人員。 –