2015-04-08 31 views
12

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)

+0

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

risposta

2

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

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

+1

@ArneBurmeister Questo perché '@ Generated' ha una conservazione == SOURCE ma JaCoCo analizza solo il bytecode, quindi manca quell'informazione. – namero999

+1

@ 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'). –