你能告诉我请它是正常的做法写方法又名JUnit测试抛出异常,例如junit测试方法可以抛出异常吗?
class A {
public String f(int param) throws Exception {
if (param == 100500)
throw new Exception();
return "";
}
}
private A object = new A();
@Test
public void testSomething() throws Exception {
String expected = "";
assertEquals(object.f(5), expected);
}
事实上,方法f()
不会抛出异常的那个参数(5),但仍然我必须声明这个例外。
是的,这是你走的路。而JUnit运行者也会赶上抛出的异常,然后测试就会失败。 – Seelenvirtuose 2014-11-04 14:54:02
@Test(Expected = SomethingDoesn'tWorkException)你可以用它来在JUnit测试中捕获异常 – ha9u63ar 2014-11-04 14:58:29
@hagubear你只希望在预期异常的特定测试用例中使用'expected'。但在所示的示例中,“throws”是必要的,但不期望有例外。 – 2014-11-04 14:59:33