关于java:使用JUnit断言失败

Assert fail with JUnit

本问题已经有最佳答案,请猛点这里访问。

我有一个类的属性我不想为空。

设定器中的si如下:

1
2
3
4
5
6
public void setFoo(String bar)
{
    if (bar == null)
        throw new IllegalArgumentException("Should not be null");
    foo = bar;
}

在我的JUnit测试案例中,我想断言,如果我执行obj.setfoo(空),它将失败。我该怎么做?


JunIT4:

1
2
3
4
@Test(expected= IllegalArgumentException.class)
public void testNull() {
   obj.setFoo(null);
}

JunIT3:

1
2
3
4
5
6
7
8
public void testNull() {
   try {
       obj.setFoo(null);
       fail("IllegalArgumentException is expected");
   } catch (IllegalArgumentException e) {
       // OK
   }
}

你可以这样做

1
2
3
4
@Test (expected = IllegalArgumentException.class)
public void setFooTest(){
    myObject.setFoo(null);
}