我正在为我的项目编写单元测试,并试图实现至少 80% 的代码覆盖率。问题是我正在使用 lombok 的 @Data
注释来生成 getter 和 setter,当我运行我的单元测试时,所有这些 getter 和 setter 以及其他方法,如 toString
, equals
, hashcode
等都丢失了,我的代码覆盖率受到了影响。有没有解决方法。我一直在搜索这方面的很多东西,但一直找不到任何可以提供帮助的东西。对此的任何帮助将不胜感激。
我正在使用 Eclemma 进行代码覆盖率分析。
原文由 Varun Sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先,@Data注解是 @ ToString 、@ EqualsAndHashCode 、 @Getter 、@ Setter 的组合。
如果您只需要 Lombok 自动创建 getter 和 setter,您可以只使用 @Getter 和 @Setter 注释而不是 @Data 。
此外,为了让 Lombok 创建的方法不在此范围内,您可以在根目录中创建一个 lombok.config 文件,并包含以下两行:
添加这一行后,当您转到 Sonar 时,您会看到这些类已被 100% 覆盖。