Używam JaCoCo i rozważa metody generowane przez Lombok (generowane w kodzie bajtowym, bez śladu ich w kodzie źródłowym). Jak skonfigurować JaCoCo, aby je zignorować?JaCoCo: wyklucz generowane metody (używając go z Lombok)
Odpowiedz
Użyj znacznika wykluczeń dostarczonego przez 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>
Działa to tylko częściowo jako wykluczające filtry tylko klasy filtrujące. Myślę, że wykluczysz cały wygenerowany kod nie tylko z klas. Powinien działać dla '@ Builder', ale nie dla metod generowanych przez' @ Data' - wciąż w dyskusji, zobacz https://github.com/jacoco/jacoco/wiki/FilteringOptions. Jako że lombok dodaje '@ Generated' do wygenerowanego kodu, JaCoCo powinien go odfiltrować, ale jest to brakująca funkcja. –
@ArneBurmeister Dzieje się tak dlatego, że '@ Generated' ma retencję == SOURCE, ale JaCoCo analizuje tylko kod bajtowy, w związku z czym brakuje tej informacji. – namero999
@ Namero999 masz rację, nadzór nad tym, ale filtr adnotacji byłby świetny, ponieważ lombok dodaje własną adnotację 'lombok.Generated' (nie z' javax.annotation'). –
Możliwe duplikat [opisów Lombok vs pokrycia kodu w Cobertura lub podobnego narzędzia] (http://stackoverflow.com/questions/10276666/lombok-annotations-vs-code-coverage-in-cobertura-or- podobne narzędzie) –