2016-07-28 50 views
2

最近我們已經完成了使用mockito框架的整個項目的單元測試。我的項目是在Java春季休息項目。但覆蓋率低於35%。需要提高單元測試覆蓋率。
1.想要從代碼覆蓋範圍中刪除unneccesay包,如測試包和beans類
2.我們是否需要編寫控制器類的單元測試用例和工具生成的類。Mockito Junit testcoverage去除單元測試覆蓋

我將非常感謝,如果你能幫助我。

+0

您已經嘗試瞭解如何從代碼覆蓋率工具中排除類? - 你使用哪一個? – Alexander

回答

0

您不必開始忽略類,而是運行代碼覆蓋工具並查看未發現的內容,並使這些單元測試達到平等水平。測試你的失敗案例呢!

測試包不應該是35%的一部分,所以刪除它們不會有幫助。我所知道的覆蓋工具都沒有考慮測試包。

至於生成的類 - 很可能不是,但再次運行代碼覆蓋工具,您將很快看到需要覆蓋的內容。

如果你使用的IntelliJ然後覆蓋工具是建立在: https://www.jetbrains.com/help/idea/2016.2/code-coverage.html

Eclipse中使用插件,一個是: http://www.eclemma.org/ 有,如果你谷歌。

我喜歡聲納: http://www.sonarqube.org/

但無論使用何種工具,這是要走的路。

1

測試類和包的測試覆蓋率不計算在內,如果他們成功了,你怎麼測試,測試代碼等的代碼..

當你運行覆蓋它應該只運行在的src/main/Java的等等。

控制器類應該測試,當你調用一個方法時,是否調用了正確的委託類和方法?

生成的類,如果來自使用jaxb等的xml,則不需要顯式測試它們是否只是帶有getter,setter和fields的普通舊Java對象。他們可能會通過另一個使用這些對象並調用其方法的類來測試它們。這些類將在您的測試運行之前生成/編譯,以便可用 - 請確保您沒有將生成的類提交到代碼存儲庫。

您可能需要考慮測試您所依賴的第三方庫的行爲。通過這種方式,您可以立即查看庫的任何更新是否可能導致問題,但這應該是高層次的。