从cobertura的代码覆盖范围中排除特定方法?

时间:2010-08-23 05:02:08

标签: java code-coverage cobertura

我试图使用以下配置忽略检测中的所有toString()方法。这不是真的有效吗?这是使用cobertura作为maven插件。这是基于之前的回答Exclude methods from code coverage with Cobertura

<instrumentation>
    <ignores>
        <ignore>toString</ignore>
    </ignores>
</instrumentation>

你认为我做错了什么?我无法在cobertura文档中找到这样的例子。

1 个答案:

答案 0 :(得分:3)

cobertura-ant reference

“忽略模式可以是任何有效的perl 5正则表达式。这将忽略对任何与忽略正则表达式匹配的方法的任何调用。在执行过程中不会跳过这些类。要排除被检测的类,要么排除它们来自您的文件集或使用下面的替代方法并指定excludeClasses模式。“

<cobertura-instrument todir="${instrumented.dir}">
    <ignore regex="org.apache.log4j.*" />
    ...
</cobertura-instrument>

我认为你必须将“忽略”更改为“忽略”并使用正则表达式在方法之前定义整个类名(或者在你的情况下只是*以从任何类中排除toString)。