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

如何在Lambda单元测试中抑制SpotBugs的RV_RETURN_VALUE_IGNORED告警

解决方案

方案1:在测试方法上添加抑制警告注解

将@SuppressFBWarnings("RV_RETURN_VALUE_IGNORED")直接标注在测试方法上,SpotBugs会忽略该方法内所有代码的对应警告:

@Test
@SuppressFBWarnings("RV_RETURN_VALUE_IGNORED")
public void testBuilder_nullInput() {
    assertThatThrownBy(() -> ImmutableEmailAddress.of(null))
        .isExactlyInstanceOf(NullPointerException.class);
}

方案2:用匿名内部类替代Lambda表达式

抑制注解可作用于匿名内部类的方法体,把Lambda替换为Callable的匿名实现,并在call方法上添加注解:

@Test
public void testBuilder_nullInput() {
    assertThatThrownBy(new Callable<EmailAddress>() {
        @Override
        @SuppressFBWarnings("RV_RETURN_VALUE_IGNORED")
        public EmailAddress call() throws Exception {
            return ImmutableEmailAddress.of(null);
        }
    }).isExactlyInstanceOf(NullPointerException.class);
}

方案3:全局配置SpotBugs忽略测试类的该警告

在SpotBugs的过滤配置文件(如findbugs-exclude.xml)中添加规则,指定忽略目标测试类的RV_RETURN_VALUE_IGNORED错误:

<Match>
    <Class name="com.company.service.interfaces.types.contacts.EmailAddressTest"/>
    <Bug pattern="RV_RETURN_VALUE_IGNORED"/>
</Match>

内容的提问来源于stack exchange,提问作者y2k-shubham

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:12:53