Ich benutze JaCoCo und es werden Methoden betrachtet, die von Lombok erzeugt werden (generiert im Bytecode, keine Spur davon im Quellcode). Wie kann ich JaCoCo so konfigurieren, dass sie ignoriert werden?JaCoCo: generierte Methoden ausschließen (mit Lombok verwenden)
Antwort
Verwenden Sie das Excludes-Tag von 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>
Dies funktioniert nur teilweise, da Filter nur Filterklassen ausschließen. Ich denke, dass Sie alle generierten Code nicht nur Klassen ausgeschlossen werden. Sollte für '@ Builder' arbeiten, aber nicht für Methoden, die von' @Data' generiert werden - noch im Gespräch, siehe https://github.com/jacoco/jacoco/wiki/FilteringOptions. Da lombok 'Generated' zum generierten Code hinzufügt, sollte JaCoCo das herausfiltern, aber das ist ein fehlendes Feature. –
@ArneBurmeister Das liegt daran, dass '@ Generated' Retention == SOURCE hat, aber JaCoCo nur den Bytecode analysiert und daher diese Information nicht enthält. – namero999
@ namero999 Sie haben recht, übersehen Sie das, aber ein Annotationsfilter wäre großartig, da Lombok seine eigene 'lombok.Generated' Annotation hinzufügt (nicht die von' javax.annotation'). –
- 1. Ordner in jacoco Berichterstattung ausschließen
- 2. Lombok ausschließen Eigenschaft von Baumeister
- 3. Klassen in Espressotests mit jacoco ausschließen
- 4. Setter und Getter in JaCoCo-Code ausschließen
- 5. JaCoCo - JSP aus dem Bericht ausschließen
- 6. Verwenden von Jacoco mit Gradle
- 7. Auto-generierte Methoden mit verwandten Modellen
- 8. Methoden von GWT-Modulen ausschließen
- 9. Android Studio - Code überprüfen - generierte Dateien ausschließen
- 10. Wie generierte TypeScript-Dateien in WebStorm ausschließen?
- 11. Maven Jacoco Konfiguration - Klassen/Pakete vom Bericht ausschließen funktioniert nicht
- 12. Gibt es Gründe, nicht mit Android Studio Lombok zu verwenden
- 13. Generierte Quellen von der Codeabdeckung ausschließen, ohne die gesamte Codeabdeckung zu beeinträchtigen
- 14. Expliziter Konstruktor mit Lombok?
- 15. Lombok mit Play 2
- 16. Benutzerdefinierte Lombok-Erweiterungen erfordern Lombok-Paket?
- 17. Benutzerdefinierter Setter über Lombok
- 18. Sonarqube - Code-Coverage Ausschlüsse für XSD, lombok und slf4j Logger generierten Klassen und Datenobjekte
- 19. Add-Methode für Listen mit Lombok
- 20. Ignorieren Klassen und Methoden bilden Code Coverage (jacoco)
- 21. Welche Version von Jacoco sollte ich mit Gradle/Sonarqube verwenden?
- 22. Java-Getter/Setter-Generierung mit Lombok für Code mit Anmerkungen
- 23. Jenkins und JaCoCo mit sbt
- 24. Jackson2 und Lombok @Builder
- 25. SonarQube @NoArgsConstructor (Projekt Lombok)
- 26. JaCoCo erzeugt jacoco.exec erst nach dem Überspringen der JaCoCo-Ausführung
- 27. evosuite _ESTest.java Ergebnisse in Sonar/jacoco gemeldet
- 28. Lombok und Maven
- 29. JaCoCo funktioniert nicht mit Robolectric-Tests
- 30. JaCoCo: Verzeichnis fehlender Klassen
Mögliches Duplikat [Lombok Anmerkungen vs Code-Coverage in Cobertura oder einem ähnlichen Werkzeug] (http://stackoverflow.com/questions/10276666/lombok-annotations-vs-code-coverage-in-cobertura-or- Ähnliches Tool) –