java - 从cobertura的代码覆盖中排除特定方法?

标签 java code-coverage cobertura

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

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

你认为我做错了什么。我无法在 cobertura 文档中找到这方面的示例。

最佳答案

cobertura-ant reference

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

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

我相信您必须将“ignores”更改为“ignore”并使用正则表达式在方法之前定义整个类名(或者只是一个 * 在您的情况下从任何排除 toString类)。

关于java - 从cobertura的代码覆盖中排除特定方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3544861/

相关文章:

java - 在 Android TabHost 应用程序中完成交互通信的最佳方式

java - 如何使用 urlRewriteFilter 永久重定向带参数的 JSP?

c++ - 是否可以使用 gcov 测量函数覆盖率?

c# - 测试中的代码覆盖率

java - Cobertura Maven 插件中的目标 "cobertura:instrument"

java - Maven 构建导致 Java 1.7 出现 VerifyError

java - 奇怪的断言等于并包含行为

java - MySQl 和 autoReconnect=true 仍然给我异常

Azure DevOps - 比较不同分支的代码覆盖率

ant - 如何同时使用Cobertura进行单元测试和JaCoCo进行集成测试?