【问题标题】:Coverage exclusion in Eclipse [EclEmma] is not working?Eclipse [EclEmma] 中的覆盖排除不起作用?
【发布时间】:2017-12-07 21:21:42
【问题描述】:

根据 StackOverflow 上的 this postEclEmma's documentation,从覆盖范围中排除类应该是非常可能的。但是,虽然“包含”字段的工作方式与描述的一样,但“排除”字段却没有。

分别采用以下项目层次结构和覆盖运行时设置:

但是,运行覆盖操作后,排除设置不起作用:

正如我们所见,排除的包仍然包含在整体覆盖率测试中。此外,如果您在“包含”中标记“*”并在“排除”中标记一个包,它仍然不被排除。

根据this issueGodlin's answer

不幸的是,目前 EclEmma 不支持从报告中排除,如 [issue] 中所述

但是,这个问题已经存在一年多了。 我在问我是否做错了什么,或者这个问题是否仍然存在?如果这两个字段没有按预期工作,那么包含这两个字段有什么意义?

版本:

Eclipse:氧气释放 (4.7.0)

【问题讨论】:

    标签: eclipse eclemma


    【解决方案1】:

    我认为对这些领域目前的工作方式存在误解,因为

    但是,虽然“包含”字段的作用与描述的一样,但“排除”字段却不能。

    这个关于“包含”字段的陈述是不正确的,甚至在您的屏幕截图中显示 - 虽然只包含 audio.*linguistics.*,但报告中还有其他包。

    原因如下:这些字段是关于“Coverage Runtime”并对应于各自的options of JaCoCo agent - 它们允许指定将修改其字节码的类,它们不包括/排除类报告的生成。未修改字节码的类将在报告中显示为“0%”。这样的规范对于字节码修改干扰被测代码的罕见情况很有用,如cited by you documentation中所述:

    出于技术原因,可能需要从代码覆盖率分析中排除某些类。以下选项将覆盖代理配置为从分析中排除某些类。 除了性能优化或技术极端情况外,通常不需要这些选项。

    下面几行:

    警告: ...排除的课程仍将显示为未涵盖。

    所以是的 - 仍然没有排除报告。

    但是,这个问题已经存在一年多了。

    Eclipse EclEmma 项目是开源的,因此请随意实现此功能并做出贡献。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      • 1970-01-01
      • 2014-06-15
      • 1970-01-01
      • 2017-07-01
      相关资源
      最近更新 更多