2016-12-30 6 views
0

При проверке моего отчета о jacoco я заметил, что некоторые файлы не имеют выделенных строк. Он имеет имя метода, выделенное, но не любое из утверждений в методе. В то же время другие файлы имеют все выделенные строки в красном/зеленом, что и ожидалось. Итак, почему некоторые из файлов в одном отчете ничего не выделяют? Я читал FAQ, но казалось бы, что я что-то испортил в генерации отчетов, ни одна из строк не будет выделена? Когда я попытался создать отчет с неправильными файлами классов, все строки будут выделены красным цветом. Итак, что мне не хватает, что некоторые строки не выделяются?Отчет 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 

Так информация в байткод о линиях содержит только один линия для метода getUserShoppingListByListId и JaCoCo показывает точно, что он видит.

Я предполагаю, что это происходит, потому что вы обрабатываете и анализируете классы, которые сотканы AspectJ вместо инструментария и анализа исходных классов. См. https://github.com/jacoco/jacoco/issues/476#issuecomment-271118961, в котором рассматривается аналогичная проблема и приведен пример использования JaCoCo с использованием AspectJ Compile-Time Weaving.

+0

@ ruazn2 добавил более подробную информацию и пример использования JaCoCo с AspectJ Compile-Time Weaving – Godin

+0

спасибо, я посмотрю! – ruazn2