使用 Junit 测试 Lombok 注释

chr*_*003 5 java junit lombok

我有一个简单的 Java 程序,它使用 Lombok Annotation - @Builder. 我正在使用 junit 测试我的代码,每次运行单元测试时,尽管我正在测试整个代码,但我的覆盖率始终低于 50%。

我查看了 junit 生成的代码覆盖率,发现是 Lombok 注释导致覆盖率下降。

我看到类似的东西:

toString() - 0%
build() - 0%
MyMethod.MyMethodBuilder() - 0%
Run Code Online (Sandbox Code Playgroud)

如何测试这些注释方法@Builder?或者提高覆盖率的唯一方法是将它们排除在测试覆盖率之外?

Ewo*_*oks 10

lombok.config从 JaCoCo v0.8.0 开始,您应该在项目的根目录下创建文件并向其中添加以下内容:

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

这将为@GeneratedLombok 生成的文件添加注释,JaCoCo 将知道应忽略此类代码的代码覆盖率。

在此向原作者致谢


m.n*_*ntt 5

创建lombok.config文件并添加以下文本:

\n\n
config.stopBubbling = true\nlombok.addLombokGeneratedAnnotation = true\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

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

\n