有沒有辦法將代碼從包含中排除到Cobertura覆蓋率報告中?我們有一些方法不應包含在覆蓋報告中,因此不會降低覆蓋率。排除Cobertura代碼覆蓋的方法
我知道Clover具有這樣的功能,但是我還沒有發現Cobertura的任何類似功能。
有沒有辦法將代碼從包含中排除到Cobertura覆蓋率報告中?我們有一些方法不應包含在覆蓋報告中,因此不會降低覆蓋率。排除Cobertura代碼覆蓋的方法
我知道Clover具有這樣的功能,但是我還沒有發現Cobertura的任何類似功能。
您可以從檢測中排除類。然後他們不應該出現在報告中。請參閱以下排除聲明。
您也可以忽略對某些方法的調用。見忽略聲明如下。
如果您使用的是maven,請參閱maven plugin manual。
<configuration>
<instrumentation>
<ignores>
<ignore>com.example.boringcode.*</ignore>
</ignores>
<excludes>
<exclude>com/example/dullcode/**/*.class</exclude>
<exclude>com/example/**/*Test.class</exclude>
</excludes>
</instrumentation>
</configuration>
而對於螞蟻見this。
<cobertura-instrument todir="${instrumented.dir}">
<ignore regex="org.apache.log4j.*" />
<fileset dir="${classes.dir}">
<include name="**/*.class" />
<exclude name="**/*Test.class" />
</fileset>
<fileset dir="${jars.dir}">
<include name="my-simple-plugin.jar" />
</fileset>
</cobertura-instrument>
的Cobertura目前不提供這樣的功能,而且也沒有艾瑪(我們使用),雖然它被列爲即將召開的增強 - 雖然在一個擴展排除規則的形式,我相信,而不是作爲註釋。
會很方便地乾淨地覆蓋那些幾個不可進入的角落,以便您可以爭取100%而不會變得荒謬。
我想註釋很可能是做一個更加友好的方式,但他們應該得到公平的明確命名和基於可接受的方案的列表上,因爲我害怕,否則像「@ExcludeFromCoverage」會得到慷慨增加了。
這已經打破了我的頭一段時間了。
我的問題是我在報告部分而不是構建部分cobertura maven插件安裝程序。
如果您沒有在生成部分中設置它,則不會應用檢測設置,因此不包括類或包,因此請小心。
還記得排除內部類。
<exclude>path/to/class/MyClass*.class</exclude>
我花了很多時間才注意到我錯過了一個星號!
希望它即將推出。問題:http://sourceforge.net/tracker/?func=detail&atid=720017&aid=3010530&group_id=130558以及有關發佈的對話,以包含此http://sourceforge.net/mailarchive/forum.php?thread_name=0F4966F4B6F55240A08C5F9AD979B3BE07E7EFB3%40MERCMBX16D。 na.SAS.com&forum_name = cobertura-devel – 2012-06-18 23:46:34
請參閱[這篇文章](http://stackoverflow.com/questions/8848585/excluding-java-files-in-sonar-report-through-jenkins/13003357#13003357),這是與科納圖拉的聲納和詹金斯排除代碼的選項,但我希望它的答案可以申請非詹金斯項目 – 2012-10-22 00:03:54