Исключить методы класса из анализа jacoco - PullRequest
12 голосов
/ 03 января 2012

Я ищу способ исключить определенные методы класса в моем анализе jacoco.Мне известно о свойстве «исключать», но оно применяется только ко всем классам.

В моем случае я создал методы, которые искажают отчет о покрытии, поэтому я хотел бы исключить их из отчета.

Ответы [ 2 ]

1 голос
/ 09 февраля 2018

JaCoCo теперь поддерживает (в 2018 году, я знаю, что вопрос с 2012 года), начиная с версия 0.8.0 (выпущено в 2018/01/ 02) игнорирование методов с аннотацией @lombok.Generated.

Так что это можно использовать в качестве обходного пути и для других сгенерированных методов (если вы можете пометить их таким образом) или даже для «рукописных» методов, если вы действительно хотите (хотя это, вероятно, было ненамерение авторов).

0 голосов
/ 29 февраля 2012

На самом деле вы можете использовать подстановочные знаки в свойстве exclude, то есть если вы используете ant для запуска модульного теста jacoco:

Blockquote exclude - список имен классов, которые следует исключить из анализа выполнения. Записи списка разделяются двоеточием (:) и могут использовать символы подстановки (* и?). За исключением оптимизации производительности или технических случаев, эта опция обычно не требуется. http://www.eclemma.org/jacoco/trunk/doc/ant.html

Вы также можете исключить файлы из процесса генерации отчета с помощью простого ant fileset tasks:

<jacoco:report>    
    <executiondata>
        <file file="jacoco.exec"/>
    </executiondata>

    <structure name="Example Project">
        <classfiles>
            <fileset dir="classes"/>
        </classfiles>
        <sourcefiles encoding="UTF-8">
            <fileset dir="src"/>
        </sourcefiles>
    </structure>

    <html destdir="report"/>

</jacoco:report>

Возможно, вам придется поэкспериментировать с двумя, чтобы получить желаемые результаты.

...