我有一堂有4名医护人员的课。还有一个放置空对象的测试。有可能捕捉到具体的空值吗?我的意思是有些测试将IlligalArgumentException.class放在测试中。因此,如果我试图用try块来捕获这个空对象,对于整个构造器块,这个方法可以工作,但是其他测试会崩溃,反之亦然。
class Quadrilateral extends Figure{
Quadrilateral(Point a, Point b, Point c, Point d){
}
}
@Test
void testConstructor() {
Figure q = null;
q = q(0, 0, 0, 1, 1, 1, 1, 0);
q = q(-2, 2, -3, 1, 0, 1, 0, 2);
}
@Test
void testConstructorNullACase() {
assertThrows(IllegalArgumentException.class, () -> q(null, new Point(-3, 1), new Point(0, 1), new Point(1, 9)));
}发布于 2022-07-03 21:12:37
为此,您可以使用Lombok。如果用@NonNull注释一个参数并将其设置为null,它将抛出一个NullPointerException。
Lombok代码:
public NonNullExample(@NonNull Person person) {
super("Hello");
this.name = person.getName();
}香草爪哇:
public NonNullExample(Person person) {
super("Hello");
if (person == null) {
throw new NullPointerException("person is marked non-null but is null");
}
this.name = person.getName();
}更多信息请访问:隆布克
https://stackoverflow.com/questions/72848864
复制相似问题