JUnit测试方法,测试add方法的一个特性

时间:2012-12-10 04:27:54

标签: java testing methods junit

假设MyList的add方法接受一个参数,并指定抛出一个 NullPointerException如果给出null作为其参数。完成此JUnit测试方法以测试该功能 添加方法:

    public void testAddNull() {
    MyList<String> ls = new MyList<String>();

    }

这就是答案:

    public void testAddNull() {
    MyList<String> ls = new MyList<String>();
      try {
        ls.add(null);
        fail();
        } catch (NullPointerException e) {
      }
    }

为什么失败();这里需要的是,ls.add(null)不会导致它失败,所以不会放入fail();多余的?

1 个答案:

答案 0 :(得分:4)

如果ls.add(null); 投掷NullPointerException,则上述测试方法将失败。由于所需的行为是抛出异常,因此在catch (NullPointerException e)处捕获异常时将通过测试。

使用Junit 4你也可以这样做:

@Test(expected = NullPointerException.class)
public void testAddNull() {
    ls.add(null);
}

这将要求测试代码抛出NullPointerException。否则,测试将失败。