IDE:Intellij
我正在使用Lombok的NonNull注释自动生成Null指针检查并在方法参数和返回类型上引发异常。
在编写单元测试时,“ null”方法参数确实会引发异常,但是null返回类型不会引发异常。
Bid
以下测试失败:
import lombok.NonNull;
public @NonNull String function( @NonNull String input) {
return null;
}
带有消息:
@Test
public void
whenReturnTypeIsNull_ThenIllegalArgumentExceptionIsThrown(){
assertThrows(IllegalArgumentException.class, ()-> testClass.function() );
}
答案 0 :(得分:1)
Lombok项目 documentation明确指出,NonNull
批注允许为构造函数和方法参数生成样板空检查:
您可以在方法或构造函数的参数上使用@NonNull,以使lombok为您生成空检查语句。
因此,您应该以编程方式检查返回值的不变量,包括非空值。