问题描述
根据此Lombok documentation,使用 @Builder 注释类可以产生7件事,其中之一是“ 明智的toString”。 ()实施“
在我正在研究的项目中,这种默认的 toString() 方法实际上引起了一些麻烦, jacoco report 考虑了该方法没有经过测试,实际上没有经过测试,因为我并不是故意拥有 toString()方法。
有没有一种方法可以避免生成默认的 toString()方法,如果可以,怎么办?
任何想法或见识将不胜感激。
解决方法
我认为您无法删除toString(),但是您始终可以对其进行测试并验证是否没有nullPointerException宝座。
如果您的类中包含np方法,则最好将此类添加为一个例外,并且默认情况下对日志进行了测试,并且代码中没有特定的逻辑。
,很遗憾,无法从生成的构建器中排除 toString()
。
但是您可以将 lombok 配置为生成将被 JaCoCo 忽略的代码。不仅将 toString()
方法排除在测试代码覆盖范围之外,而且排除 lombok 生成的所有 getter、setter、builder 和其他人员也很有用。
- 将
lombok.config
文件添加到您的根项目目录中 - 在其中添加以下几行:
config.stopBubbling = true
lombok.addLombokGeneratedAnnotation = true
- 重建您的项目
您可以在此处找到有关配置 lombok 的更多详细信息:https://projectlombok.org/features/configuration