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