addLombokGenerated Annotation on lombok.config 不会忽略 Jacoco report 上的 Lombok Annotations



我在根目录中创建了一个包含以下内容的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。任何连续的构建都应再次开始传递。

无法解释为什么会发生这种情况,一定是龙目岛的错误。

最新更新