2016-12-30 73 views
0

在檢查我的jacoco報告時,我注意到有些文件沒有突出顯示的行。它突出顯示方法名稱,但不包含方法中的任何語句。與此同時,其他文件的所有行都以紅色/綠色突出顯示,這正是我所期待的。那麼爲什麼同一報告中的某些文件沒有突出顯示?我閱讀了常見問題解答,但是如果我在報告生成過程中搞砸了某些東西,那麼沒有一行會突出顯示?當我嘗試使用錯誤的類文件生成報告時,所有行將以紅色突出顯示。那麼我錯過了什麼導致一些線條不被突出顯示?jacoco報告與一些文件有行不高亮

我正在使用maven和我在Java項目上做代碼覆蓋。感謝

class and jacoco file zip

method highlighted green but not any of the code

+0

您能否提供一個示例來重現您的問題(請參閱http://stackoverflow.com/help/mcve)?報告截圖? – Godin

+0

剛剛添加了屏幕截圖,謝謝 – ruazn2

+0

感謝您的截圖。但是,複製者呢?很難在沒有它的情況下幫助你。瘋狂猜測 - 也許你編譯這個文件時沒有包含行號的調試信息。 – Godin

回答

0

讓我們在類的字節碼一看:

javap -v UserListsComponentProvider 

它顯示

public void getUserShoppingListByListId(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.ws.rs.container.AsyncResponse) throws com.coupons.web.api.base.BusinessException; 
... 
     LineNumberTable: 
     line 50: 76 
    Exceptions: 
     throws com.coupons.web.api.base.BusinessException 

因此,在有關行字節碼信息只包含一個爲方法行JaeCoCo,getUserShoppingListByListId顯示了它所看到的。

我想這會發生,因爲你儀器和分析由AspectJ編織的類,而不是原始類的檢測和分析。請參閱https://github.com/jacoco/jacoco/issues/476#issuecomment-271118961,討論類似問題,並提供JaCoCo與AspectJ編譯時編織的使用示例。

+0

@ ruazn2在AspectJ編譯時編織中添加了JaCoCo使用的更多細節和示例 – Godin

+0

謝謝我會看看! – ruazn2