0

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

EXPECT_NO_THROW(x.foo());

我怎样才能在 JUnit 中做到这一点?我要避免的事情是必须编写一个try/catch块,并指定我的测试函数可以做throw任何事情。Java强迫我throws用测试函数声明一个子句......

是否可以?

4

2 回答 2

5

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

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

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

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

于 2013-01-09T11:29:06.793 回答
0

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

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

在这里你期待 ExceptionClassName 异常或

如果您总是期待异常,任何类型的都可以将其用作

@Test (expected=Exception.class)
public void yourTestCase(){
      //testing codes
}
于 2013-01-09T11:34:59.440 回答