簡體   English   中英

Java lombok單元測試getter setters

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM