Подтвердить что ты не робот

Исключить методы класса из jacoco-анализа

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

Фактически вы можете использовать подстановочные знаки в свойстве исключений, то есть, если вы используете ant для запуска jacoco unit test:

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

Вы также можете исключить файлы из процесса создания отчета, используя простые задачи ant fileset:

<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>

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