【问题标题】:Exclude toString() method that comes with Lombok @Builder排除 Lombok @Builder 自带的 toString() 方法
【发布时间】:2021-06-24 00:02:54
【问题描述】:

根据这个Lombok documentation,用@Builder注释一个类会产生7个东西,其中之一是“一个明智的toString()实施"

在我正在做的项目中,这个默认的toString()方法实际上引起了jacoco report认为该方法的一些烦恼没有经过测试,事实上也没有,因为我根本不想有一个 toString() 方法。

有没有办法避免生成默认的toString()方法,如果有,怎么做?

任何想法或见解将不胜感激。

【问题讨论】:

标签: java tostring builder jacoco lombok


【解决方案1】:

我不认为你可以删除 toString(),但你总是可以测试它并验证没有 nullPointerException 宝座。

如果你的类中有 np 方法,那么最好将这个类添加为异常,并且默认情况下会测试日志,并且你的代码中没有特定的逻辑。

【讨论】:

    【解决方案2】:

    很遗憾,无法从生成的构建器中排除toString()

    但是您可以配置您的 lombok 以生成将被 JaCoCo 忽略的代码。从测试代码覆盖范围中排除 toString() 方法以及所有由 lombok 生成的 getter、setter、builder 和其他人员都是有用的。

    1. lombok.config 文件添加到您的根项目目录中
    2. 在其中添加以下行:
            config.stopBubbling = true
            lombok.addLombokGeneratedAnnotation = true
    
    1. 重建您的项目

    有关配置 lombok 的更多详细信息,您可以在此处找到:https://projectlombok.org/features/configuration

    【讨论】:

      猜你喜欢
      • 2021-07-04
      • 2021-06-21
      • 1970-01-01
      • 2015-08-23
      • 1970-01-01
      • 1970-01-01
      • 2018-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多