龙目岛注释与Cobertura或类似工具中的代码覆盖率

2022-09-04 22:37:48

将 cobertura 配置为忽略某些代码块

从我从上面的问题中读到的内容来看,在Cobertura中,没有办法将给定的代码部分排除在测试之外,而不是在测试中覆盖。

这是真的吗?/ 在任何模拟工具中都可行吗?

我正在使用龙目岛注释,等等,这很好,但它们会导致覆盖率报告中的“红色”,即使我正在测试getter和setter方法。有没有办法解决这个问题?@Getter@Setter


答案 1

难道不能首先对被测代码运行delombok,编译它,然后由Cobertura来检测它吗?

披露:我是龙目岛项目开发者之一


答案 2

龙目岛添加了一个注释 (1)。但是这个注释有保留,即你的覆盖工具再也看不到它了:-(@javax.annotation.Generatedsource

龙目岛1.16.14刚刚修复了问题-1014,增加了一个生成注释的选项;只需配置 (2)。@lombok.Generatedlombok.addLombokGeneratedAnnotation

Cobertura可以配置为跳过带有一些注释的方法,因此大多数生成的代码都不会计入您的覆盖范围。

JaCoCo 不提供跳过某些注释的配置机制。Issue-15 尝试在不需要任何配置的情况下解决此问题(以及更多)。

(1) 如果未禁用,则现在已弃用,应替换为
(2) 请参阅龙目岛配置
(3) 请参阅此注释lombok.addGeneratedAnnotationlombok.addJavaxGeneratedAnnotation


推荐