根据这个帖子 https://stackoverflow.com/questions/37004345/how-to-exclude-classes-from-the-coverage-calculation-in-eclemma-without-actually在 StackOverflow 上和EclEmma 的文档 http://www.eclemma.org/userdoc/preferences.html,从覆盖范围中排除类应该是很有可能的。然而,虽然“包含”字段的工作方式与描述的一样,但“排除”字段却不然。
Take the following project hierarchy and coverage runtime settings respectively:
But, after running the coverage operation, the exclude setting does not work:
可以看到,被排除的软件包仍然包含在总体覆盖率测试中。另外,如果在“包含”中标记“*”并在“排除”中标记某个包,则该包仍然不会被排除。
根据这个问题 https://github.com/jacoco/eclemma/issues/84 and 戈德林的回答 https://stackoverflow.com/questions/41560915/how-to-exclude-classes-and-packages-using-eclemma-plugin-in-eclipse:
不幸的是,目前 EclEmma 不支持从报告中排除,如[issue] https://github.com/jacoco/eclemma/issues/84
然而,这个问题已经存在一年多了。我问我是否做错了什么或者这个问题是否仍然存在?如果这两个字段不能按预期工作,那么包含这两个字段有什么意义呢?
版本:
日食:氧气释放(4.7.0)
我认为人们对这些领域目前的运作方式存在误解,因为
然而,虽然“包含”字段的工作方式与描述的一样,但“排除”字段却不然。
关于“包含”字段的这种说法是不正确的,甚至在您的屏幕截图中也显示 - 而仅audio.*
and linguistics.*
包括在内,报告中还有其他包。
原因如下:这些字段与“覆盖范围Runtime” 并分别对应JaCoCo代理的选项 http://www.jacoco.org/jacoco/trunk/doc/agent.html- 它们允许指定其字节码将被修改的类,它们不包括/排除生成报告的类。字节码未修改的类将在报告中显示为“0%”。当字节码修改干扰测试中的代码时,此类规范非常有用,如中所述您文档中引用的 http://www.eclemma.org/userdoc/preferences.html:
出于技术原因,可能有必要从代码覆盖率分析中排除某些类。以下选项将覆盖代理配置为从分析中排除某些类。除了性能优化或技术极端情况之外,通常不需要这些选项。
和下面几行:
Warning:...排除的类别仍将显示为未涵盖。
所以是的 - 仍然没有排除报告。
然而,这个问题已经存在一年多了。
Eclipse EclEmma 项目是开源的,因此请随意实现此功能并做出贡献。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)