[英]Java lombok unit tests for getters setters
我使用的lombok
在我的Java項目注釋與我對象的私有成員變量@Getter
和@Setter
注解。 我們知道那些吸氣劑和固定劑會按預期工作。 所以我們並不需要對它們進行單元測試。 但是,這降低了單元測試中代碼的code coverage
。
有沒有辦法告訴單元測試引擎不需要測試lombok生成的getter和setter?
從Lombok 1.16.14開始,所有生成的方法都將使用@lombok.Generated
進行注釋。
您可以從Cobertura測試報告中排除它們:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
<configuration>
<instrumentation>
<ignoreMethodAnnotation>lombok.Generated</ignoreMethodAnnotation>
</instrumentation>
</configuration>
</plugin>
披露:我是Lombok開發人員。
NB。 目前,Lombok 1.16.14尚未發布。 您可以下載包含此修復程序的邊緣版本 。
從Cobertura 2.0開始,如果它只是關於getter和setter,你可以設置ignoreTrival開關:
Cobertura Changelog - 新的--ignoreTrivial開關告訴Cobertura忽略覆蓋率報告中的以下內容:Getter方法只讀取一個類字段; 設置類字段的Setter方法; 僅設置類字段並調用超類構造函數的構造函數
如果您希望更具體地忽略方法,還可以使用ignoreMethodAnnotation開關:
Cobertura Changelog - 新的--ignoreMethodAnnotation開關用於指定注釋,當注釋出現在方法上時,將導致Cobertura忽略coverage報告中的方法
或者,從maven插件:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<formats>
<format>xml</format>
<format>html</format>
</formats>
<instrumentation>
<ignoreTrivial>true</ignoreTrivial>
<excludes>
<exclude>**/some/trivial/classes/**</exclude>
</excludes>
</instrumentation>
</configuration>
<executions>
<execution>
<goals>
<goal>clean</goal>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.