有没有办法将代码从包含中排除到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