2016-12-30 71 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