Eclipse [EclEmma]中的覆盖率排除不起作用?

时间:2017-12-07 21:21:42

标签: eclipse eclemma

根据StackOverflow上的this postEclEmma's documentation,应该很有可能从coverage中排除类。然而,虽然"包括"字段的工作原理如上所述,"排除"字段没有。

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

EclEmma

但是,在运行覆盖操作后,排除设置不起作用: enter image description here

可以看出,排除的包仍然包含在整体覆盖测试中。此外,如果你标记' *' in"包括"并在"中排除包裹,"它仍未被排除在外。

根据this issueGodlin's answer

  

不幸的是,目前EclEmma不支持[issue]

中所述的报告排除

然而,这个问题已经超过一年了。 我在问我做错了什么或者这个问题是否仍然存在?如果他们不按预期工作,包含这两个字段的重点是什么?

版(S):

  

Eclipse:氧释放(4.7.0)

1 个答案:

答案 0 :(得分:2)

我认为这些字段目前如何运作存在误解,因为

  

然而,虽然"包括"字段的工作原理如上所述,"排除"字段没有。

关于"的声明包括"字段不正确,甚至显示在屏幕截图中 - 虽然只包含audio.*linguistics.*,但报告中还有其他包。

原因如下:这些字段大约是"覆盖运行时"并且对应于相应的options of JaCoCo agent - 它们允许指定其字节码将被修改的类,它们不包括/排除生成报告的类。其字节码未被修改的类将在报告中显示为" 0%"。如果字节码修改干扰了cited by you documentation中所述的被测代码,这种规范很有用:

  

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

以下几行:

  

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

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

  

然而,这个问题已经超过一年了。

Eclipse EclEmma项目是开源的,因此请随意实施此功能并回馈。