2012-02-13 37 views
17

有人找到一個很好的解決方案忽略瑣碎的方法
使用像Unitils這樣的自動化測試並不是一個真正的選擇,因爲如果只有getter/setters被測試,代碼覆蓋率就不應該增加!用cobertura-maven-plugin忽略setter/getter(其他不重要的方法)仍然沒有解決方案嗎?

使用cobertrua Maven的插件版本2.5.1
- )忽略方法都不起作用<ignore>com.company.*.set*</ignore>
- )有沒有人嘗試包括補丁一樣http://sourceforge.net/tracker/index.php?func=detail&aid=3010530&group_id=130558&atid=720017到Maven的插件?
- )任何人都使用不同的(更好?)測試插件?

對於每個get/set/is *方法都會忽略一個通用方法,因爲這些模式可以在其他方法中使用,但只能使用getter/setters。此外,它應該很容易猜到微不足道的getters/setters /構造函數。

我知道這個問題:Ignore methods in class. cobertura maven plugin但由於它沒有得到任何相關的答案,我想我再給它一次。

回答

13

由於的Cobertura 2.0沒有排除瑣碎的方法開關:

[Cobertura Changelog] --ignoreTrivial開關,告訴的Cobertura忽略 以下在覆蓋率報告中:只需 讀取類字段的Getter方法;設置類字段的Setter方法; 僅設置類字段並調用超類 類構造函數的構造方法。

cobertura-maven-plugin從版本2.6開始使用Cobertura 2.x(請參閱release notes)。但是我還沒有找到將開關傳遞給maven插件配置的方法。


雖然似乎有關於這個功能的狀態有些混亂(見本Jira issue),標誌似乎具有以下配置工作:

<groupId>org.codehaus.mojo</groupId> 
<artifactId>cobertura-maven-plugin</artifactId> 
<version>2.6</version> 
<configuration> 
    <instrumentation> 
    <ignoreTrivial>true</ignoreTrivial>     
    </instrumentation> 
</configuration> 
+0

輝煌,我會測試和審查一旦我得到5分 – 2013-10-11 09:27:23

+0

優秀,不得不檢查插件代碼的使用,因爲我無法找到它的任何地方(因此,包括在答案) – 2013-10-15 12:45:42

+0

@AbGator它已被列入(我檢查了代碼),它的工作原理(它包含在我們的週期中)。請在刪除已經過測試的工作信息之前進行檢查! – 2014-01-24 11:09:33

1

排除問題在這裏固定:

http://jira.codehaus.org/browse/MCOBERTURA-52 

,它的最新版本(2.5.2)的一部分。它的問世自2012年9月10日:

http://search.maven.org/#search|gav|1|g%3A%22org.codehaus.mojo%22%20AND%20a%3A%22cobertura-maven-plugin%22 
相關問題