【问题标题】:Exclude specific methods from code coverage from cobertura?从 cobertura 的代码覆盖范围中排除特定方法?
【发布时间】:2011-04-02 11:19:59
【问题描述】:
我试图使用以下配置忽略检测中的所有 toString() 方法。这真的不行吗?这是使用 cobertura 作为 maven 插件。这是基于之前的回答 Exclude methods from code coverage with Cobertura。
<instrumentation>
<ignores>
<ignore>toString</ignore>
</ignores>
</instrumentation>
你认为我做错了什么。我无法在 cobertura 文档中找到这方面的示例。
【问题讨论】:
标签:
java
code-coverage
cobertura
【解决方案1】:
cobertura-ant reference
“忽略模式可以是任何有效的 perl 5 正则表达式。这将忽略对与忽略正则表达式匹配的任何方法的任何调用。在检测期间它不会跳过这些类。要从检测中排除类,请排除它们从您的文件集中或使用下面的替代方法并指定 excludeClasses 模式。”
<cobertura-instrument todir="${instrumented.dir}">
<ignore regex="org.apache.log4j.*" />
...
</cobertura-instrument>
我相信您必须将“ignores”更改为“ignore”,并使用正则表达式在方法之前定义整个类名(或者在您的情况下仅使用 * 将 toString 从任何类中排除)。