我正在寻找一种在我的 jacoco 分析中排除特定类方法的方法。我知道“排除”属性,但这仅适用于整个类。
就我而言,我生成了扭曲覆盖率报告的方法,因此我想将它们从报告中排除。
JaCoCo 现在支持(在 2018 年,我知道问题来自 2012 年),因为版本 0.8.0 (于 2018/01/02 发布) 忽略带有注释的方法@lombok.Generated
。
因此,这也可以用作其他生成方法的解决方法(如果您能够以这种方式标记它们),或者如果您真的想要,甚至可以用于“手写”方法(尽管这可能不是作者的意图)。
您实际上可以在 excludes 属性中使用通配符,也就是说,如果您使用 ant 来运行 jacoco 单元测试:
Blockquote excludes - 应该从执行分析中排除的类名列表。列表条目由冒号 (:) 分隔,并且可以使用通配符(* 和 ?)。除了性能优化或技术极端情况外,通常不需要此选项。 http://www.eclemma.org/jacoco/trunk/doc/ant.html
您还可以使用简单的 ant文件集任务从报告生成过程中排除文件:
<jacoco:report>
<executiondata>
<file file="jacoco.exec"/>
</executiondata>
<structure name="Example Project">
<classfiles>
<fileset dir="classes"/>
</classfiles>
<sourcefiles encoding="UTF-8">
<fileset dir="src"/>
</sourcefiles>
</structure>
<html destdir="report"/>
</jacoco:report>
您可能必须对两者进行试验才能获得所需的结果。