Dol*_*ava 6 intellij-idea lombok junit5
IDE:Intellij
我使用 Lombok 的 NonNull 注释自动生成空指针检查并在方法参数和返回类型上引发异常。
在编写单元测试时,“null”方法参数确实会引发异常,但 null 返回类型不会引发异常。
import lombok.NonNull;
public @NonNull String function( @NonNull String input) {
return null;
}
Run Code Online (Sandbox Code Playgroud)
以下测试失败:
@Test
public void
whenReturnTypeIsNull_ThenIllegalArgumentExceptionIsThrown(){
assertThrows(IllegalArgumentException.class, ()-> testClass.function() );
}
Run Code Online (Sandbox Code Playgroud)
随着消息:
Expected java.lang.IllegalArgumentException to be thrown, but nothing was thrown
Run Code Online (Sandbox Code Playgroud)
Lombok项目 文档明确指出,该NonNull注释允许为构造函数和方法参数生成样板空检查:
您可以在方法或构造函数的参数上使用@NonNull,让 lombok 为您生成 null 检查语句。
因此,您应该以编程方式检查返回值不变量,包括非空值。
| 归档时间: |
|
| 查看次数: |
3325 次 |
| 最近记录: |