我想测试一个特定的异常被抛出 EOFException
作为JUnit测试方法的某个部分的异常原因 .
测试方法本身不应该抛出异常 - 只是它的一个特定部分 .
我完成它:
...
try {
MyClass.staticMethod();
} catch (MyException e) {
Assert.assertEquals(e.getCause().getClass(), EOFException.class);
}
...
// other asserts
我想知道这是否是这种情况下的最佳实践,或者有更好的方法来实现这一点,可能有一些特定于异常的JUnit机制(我读到 ExpectedException
但我理解它是用于处理抛出异常的测试方法) .
2 回答
catch-exception库的第2版(当前处于dev模式)允许您使用Lambda表达式,因此您也可以使用静态方法调用 .
您可以使用库Fishbowl .