web-dev-qa-db-fra.com

JaCoCo: exclure les méthodes générées (en l'utilisant avec Lombok)

J'utilise JaCoCo et il envisage des méthodes générées par Lombok (générées dans le bytecode, pas trace d'elles dans le code source). Comment puis-je configurer JaCoCo pour les ignorer?

21

Utilisez la balise excludes fournie par jacoco.

            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.4.201502262128</version>
            <configuration>
                <excludes>
                    <exclude>**/config/**</exclude>
                    <exclude>**/model/**</exclude>
                    <exclude>**/item/**</exclude>
                </excludes>
            </configuration>
3
Naidu

Une autre façon d'exclure les classes générées par lombok depuis jacoco 0.8.0 et lombok 1.16.14 voir: https://www.rainerhahnekamp.com/en/ignoring-lombok-code-in-jacoco/

Heureusement, à partir de la version 0.8.0, Jacoco peut détecter, identifier et ignorer le code généré par Lombok. La seule chose que vous devez faire en tant que développeur est de créer un fichier nommé lombok.config à la racine de votre répertoire et définissez l'indicateur suivant:

lombok.addLombokGeneratedAnnotation = true

Cela ajoute l'annotation lombok.@Generated aux méthodes, classes et champs appropriés. Jacoco est au courant de cette annotation et ignorera ce code annoté.

Veuillez garder à l'esprit que vous avez besoin d'au moins la version 0.8.0 de Jacoco et v1.16.14 de Lombok.

36
ebonnet