2017-05-09 30 views
0

我正在嘗試獲取jenkins上的sonarqube儀表板上的代碼覆蓋率報告。代碼覆蓋率報告即將出臺,但只顯示4.6%的覆蓋率。在調查中,我發現使用PowerMocks編寫的測試類正在跳過。使用Jacoco對使用Powermock編寫的測試類進行單元測試覆蓋

在進一步的調查中,我發現「JaCoCo在動態修改/創建的類中不能很好地發揮作用(這是powermock的工作方式)。這是一個我們目前無法做到的已知限制」。

是否有任何解決此問題的方法,以便我可以爲使用PowerMocks編寫的測試類獲得正確的代碼覆蓋範圍。

+0

您好,歡迎StackOverflow上。您發佈的問題不屬於此處討論的問題的範圍。請參閱[常見問題](http://stackoverflow.com/faq),瞭解您可以在此處詢問哪些類型的問題。問候。 –

回答

1

簡單的回答:不,沒有。

朗的答案 - 歸結爲以下選項:

  • 有看這個維基page由PowerMock球隊 - 也許,也許「離線儀器儀表」的作品送給你。
  • 希望相應bug得到(我不會抱我上呼吸)
  • 擺脫你依賴於PowerMock(ITO)固定在某一點 - 通過重構和改善你的生產代碼
  • [I 認爲很久以前我評估過各種覆蓋工具;有一個商業宣稱甚至可以與PowerMock一起工作。但我不記得任何細節。所以我基本上是說:有可能是微不足道的機會,另外,獨有覆蓋工具的工作原理與PowerMock]
+0

JaCoCo可以選擇使用脫機儀器 - 請參閱https://github.com/powermock/powermock/wiki/Code-coverage-with-JaCoCo,但是您的權利即使EclEmma基於JaCoCo,今天沒有辦法在EclEmma中使用離線工具。 – Godin

+0

我將您的鏈接添加到了我的答案;感謝您的輸入! – GhostCat

+0

jenkins上也可以使用脫機工具獲得jacoco的代碼覆蓋率嗎? – Manas