您可以傳遞Class對象并以編程方式檢查。
public static void checkForException(String message,
Class exceptionType, ExpectedExceptionBlock block) {
try {
block.exceptionThrowingCode();
} catch (Exception ex) {
if ( exceptionType.isInstance(ex) ) {
return;
} else {
throw ex; //optional?
}
}
fail(message);
}
//...
checkForException("Expected an NPE", NullPointerException.class, //...
我不知道你是否想要重新打倒;重新啟用同樣會失敗/錯誤的測試,但在語義上我不會,因為它基本上意味著“我們沒有得到我們預期的異常”,所以代表一個編程錯誤,而不是測試環境錯誤。