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) {
      }
    }

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

如果

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

使用 Junit 4 您还可以执行以下操作:

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

这将需要经过测试的代码抛出NullPointerException.否则,测试将失败。

最新更新