我在我的根目录中创建了一个
lombok.config
文件,内容如下:
config.stopBubbling = true
lombok.addLombokGeneratedAnnotation = true
但是 Lombok 生成的代码(Getters、Setters、Builders 等)仍然出现在我的 Jacoco 测试报告中。
Jacoco 版本是 0.8.6 和 Lombok 版本是 1.18.12.
如何从报告中删除 Lombok 代码?
我遇到了同样的问题,添加了
lombok.addLombokGeneratedAnnotation = true
Lombok在编译过程中仍然没有添加任何@Generated
注释。它生成了所有的 getter 和 setter,但没有一个被注释。因此,如果没有 getter 等,我们的测试覆盖率大约是 15% 而不是 70%
解决方案是选择任何随机的 Lombok 注释并将其用作
@lombok.Getter
而不是导入 import lombok.Getter;
然后使用 @Getter
。我不知道为什么它会以某种方式触发在应该添加注释的地方添加@Generated
注释,但是嘿,如果它有效,它就有效。
我犯了一个愚蠢的错误,但我对此的解决方案只是先进行清理,然后再进行构建。我认为 gradle 对它构建的内容很聪明,仅仅引入 lombok.config 不足以触发重建。一旦完成,它就可以正常工作了。
使用
@lombok.XXX
而不是导入import lombok.Getter;
真的解决问题了。
但是,经过我的测试,
升级 lombok 到 org.projectlombok:lombok:1.18.26+
问题也可以解决
您不需要添加任何配置属性,只需添加
@Generated
注释以及 @Data
.
使用
lombok.addLombokGeneratedAnnotation = false
构建一次,这将导致构建失败且覆盖率低(假设您配置了此类规则)。
失败后,将
lombok.addLombokGeneratedAnnotation
设置回true
。任何连续的构建都应该再次开始通过。
无法解释为什么会这样,一定是 Lombok 的 bug。