2015-05-19 120 views
0

你好,我是單位使用JUnit @rule註釋測試方法,測試異常失敗

@Rule 
public ExpectedException exception = ExpectedException.none(); 

@Test 
public void testException() { 
    //do something that throws RuntimeException 
    exception.expect(RuntimeException.class); 
} 

測試失敗,並在運行時異常時,它實際上應該通過期待例外。還有什麼我需要做的 ?

+0

你的代碼顯示'@ test',你真的有'@ Test',對不對?另外,爲什麼不試試'@Test(expected = RuntimeException.class)'? – cjstehno

+0

是的,感謝您的注意 –

回答

1

exception.expect(RunTimeException.class)必須在引發異常的代碼執行之前調用。

@Rule 
public ExpectedException exception = ExpectedException.none(); 

@Test 
public void testException() { 
    exception.expect(RunTimeException.class); 
    //do something that throws RunTimeException 
} 
+0

不,這似乎沒有解決問題 –

+0

做出這個答案中建議的更改後,錯誤消息是什麼 – dkatzel

+0

同樣,它失敗了說預計「RuntimeException」,而我得到預期的runtimeException –

相關問題