2015-04-08 17 views
12

JaCoCo kullanıyorum ve Lombok tarafından üretilen yöntemler (kaynak kodda iz değil, bytecode tarafından oluşturulmuş) göz önünde bulunduruluyor. JaCoCo'yu bunları yok saymak için nasıl yapılandırabilirim?JaCoCo: üretilen yöntemleri hariç (Lombok ile kullanarak)

+0

Olası kopyalar ([Lombok ek açıklamaları cobertura veya benzer aracında kod kapsama vs] http://stackoverflow.com/questions/10276666/lombok-annotations-vs-code-coverage-in-cobertura-or- Benzer araç –

cevap

2

jacoco tarafından sağlanan excludes etiketini kullanın.

  <artifactId>jacoco-maven-plugin</artifactId> 
      <version>0.7.4.201502262128</version> 
      <configuration> 
       <excludes> 
        <exclude>**/config/**</exclude> 
        <exclude>**/model/**</exclude> 
        <exclude>**/item/**</exclude> 
       </excludes> 
      </configuration> 
ait
+1

Bu, yalnızca filtreleri yalnızca filtre sınıflarını hariç tuttuğu için kısmen çalışır. Üretilen kodların sadece sınıfları hariç tuttuğunu düşünüyorum. "@ Builder" için çalışmalı, ancak "Data" tarafından oluşturulan yöntemler için değil - hala tartışılırken, bkz. Https://github.com/jacoco/jacoco/wiki/FilteringOptions. JacoCo'nun oluşturduğu kodlara lombok '@ Generated' eklenerek filtrelenmesi gerekir ancak bu eksik bir özelliktir. –

+1

@ArneBurmeister Çünkü @ @ Generated' == SOURCE tutuyor, ancak JaCoCo sadece bytecode'u analiz ediyor, dolayısıyla bu bilgiyi eksik. – namero999

+1

@ namero999 haklısınız, bunu göz önünde bulundurun, ama bir açıklama filtresi lombok kendi "lombok.Generated" açıklamasını (javax.annotation'dan değil) ekledikçe harika olacaktır. –

İlgili konular