小编mar*_*eck的帖子

Intellij IDEA在单元测试中警告@Nonnull注释

假设我有一个方法,其中一些参数用javax @Nonnull注释注释.

public Something supply(@Nonnull SomeObject someObject) {
    (...)
    if (someObject == null) throw new ValidationException("Required parameter is null");
    (...)
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用显式null参数调用此方法时,IDE正确地通知我,如下所示:

somethingSupplier.supply(null);
Run Code Online (Sandbox Code Playgroud)

现在我想要做的是创建单元测试,检查是否会抛出适当的异常,如果由于某种原因传递给此方法的参数恰好为null(假设它是某种验证异常).

如果我尝试像上面的例子中那样调用这个方法,IDE会警告我将null传递给@Nonnull ......但这正是我想在这里做的.我可以注释调用或方法甚至测试类@SuppressWarnings("ConstantConditions"),但它会使代码混乱,我可能不会收到有关我在代码中做出的其他无意错误的警告.

所以问题是我是否能以某种方式禁用测试类中对@Nonnull的检查?或许我不应该对这些案件进行单元测试?

java unit-testing intellij-idea java-8 intellij-13

2
推荐指数
1
解决办法
2034
查看次数

标签 统计

intellij-13 ×1

intellij-idea ×1

java ×1

java-8 ×1

unit-testing ×1