You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ默认覆盖率工具对Java Record与Lombok类的统计疑问

IntelliJ默认覆盖率工具对Java Record与注解类的统计差异问题

问题现象

  • 使用IntelliJ默认覆盖率工具执行JUnit测试时,所有无自定义代码的Java Record类均被标记为0%覆盖率,示例代码如下:
public record ProcessRequestDTO(String path) {
    // NOTHING HERE
}
  • 对比情况:通过Lombok注解(@Getter、@Setter、@AllArgsConstructor、@NoArgsConstructor)自动生成代码的普通Java类,完全不会被纳入覆盖率统计池,示例代码如下:
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class Other{
    private File file;
}
// This class is not even added to the coverage pool

核心疑问

  1. IntelliJ覆盖率工具要求Record类覆盖哪些代码部分?是自动生成的构造方法,还是属性对应的Getter方法?
  2. 为何同样是自动生成代码的场景,注解类不会进入统计池,而Record类会被统计且显示0%覆盖率?

补充说明

截图展示了覆盖率工具中“无内容可覆盖”和“存在覆盖潜力”的类别差异:
覆盖率类别差异截图

注:当前无法使用JaCoCo,仅需针对IntelliJ默认覆盖率工具提供解答。

内容的提问来源于stack exchange,提问作者floxcc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 23:50:53