如何忽略 lombok @EqualsAndHashCode 的声纳“未覆盖条件”

Din*_*h M 5 java lombok sonarqube

对于下面的类声纳抱怨@EqualsAndHashCode(龙目岛注释)的未覆盖条件。我曾尝试添加 '// NOSONAR' 来忽略,但它没有帮助。请参阅下面的代码以供参考。

import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@EqualsAndHashCode(callSuper = false) // NOSONAR
public class UserPersonalInfo extends PersonalInfo {

  private String userId;

  private String empployeeId;
}
Run Code Online (Sandbox Code Playgroud)

它在声纳报告中显示了 EqualsAndHashCode 的 22 个未发现条件。请帮我解决这个问题。

Wil*_*lem 7

在项目的根目录添加 lombok.config 文件并添加:

config.stopBubbling = true
lombok.addLombokGeneratedAnnotation = true
Run Code Online (Sandbox Code Playgroud)

config.stopBubbling = true 告诉 Lombok 这是根目录,它不应该在父目录中搜索更多配置文件(您可以在不同的目录/包中拥有多个 Lombok 配置文件)。

lombok.addLombokGeneratedAnnotation = true 告诉 Lombok 将 @lombok.Generated 注释添加到所有生成的方法。

Jacoco(至少 0.8.0)过滤掉所有用 @lombok.Generated 注释的方法。

资料来源:https : //medium.com/@mladen.bolic/lombok-data-improve-your-code-coverage-a74fb624a72b