你能告訴我請它是正常的做法寫方法又名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