如何表明我不希望JUnit中出现异常?

时间:2013-01-09 11:24:20

标签: junit expected-exception

在谷歌测试中,我们有一个

EXPECT_NO_THROW(x.foo());

如何在JUnit中执行此操作?我想要避免的是必须编写try/catch块,并指定我的测试函数throw。 Java强迫我用测试函数声明throws子句......

有可能吗?

2 个答案:

答案 0 :(得分:4)

你不需要。如果您的方法抛出异常,测试将失败,这就是您想要的。

在这种情况下,让测试声明抛出是可以接受的例外:

@Test public void testMe() throws Exception {
  x.foo();
}

这意味着(对我而言)你不期待任何例外。

答案 1 :(得分:0)

在Junit 4中,我们可以使用如下语法来避免尝试catch块。

@Test (expected=ExceptionClassName.class)
public void yourTestCase(){
      //testing codes
}

这里你期待ExceptionClassName异常 OR

如果您总是期待例外,任何类型都可以将其用作

@Test (expected=Exception.class)
public void yourTestCase(){
      //testing codes
}