Sto usando JaCoCo e sta prendendo in considerazione metodi generati da Lombok (generati nel bytecode, non è traccia di loro nel codice sorgente). Come posso configurare JaCoCo per ignorarli?JaCoCo: metodi escludono generati (che utilizzano con Lombok)
risposta
utilizzare il tag esclude fornire da 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>
Funziona solo in parte perché quelli che escludono solo i filtri filtrano le classi. Penso che dovresti escludere tutto il codice generato non solo le classi. Dovrebbe funzionare per '@ Builder' ma non per i metodi generati da' @ Data' - ancora in discussione, vedere https://github.com/jacoco/jacoco/wiki/FilteringOptions. Come lombok aggiungi '@ Generated' al codice generato JaCoCo dovrebbe filtrarlo ma questa è una caratteristica mancante. –
@ArneBurmeister Questo perché '@ Generated' ha una conservazione == SOURCE ma JaCoCo analizza solo il bytecode, quindi manca quell'informazione. – namero999
@ namero999 hai ragione, sorvegliato questo, ma un filtro di annotazione sarebbe ottimo dato che lombok aggiunge la propria annotazione 'lombok.Generated' (non quella da' javax.annotation'). –
Eventuali duplicati di [annotazioni Lombok vs copertura del codice in Cobertura o un attrezzo simile] (http://stackoverflow.com/questions/10276666/lombok-annotations-vs-code-coverage-in-cobertura-or- strumento simile) –