use*_*877 3 java junit unit-testing exception
我想使用JUnit 3实现异常检查(如在JUnit 4中).例如,我希望能够编写如下测试:
public void testMyExceptionThrown() throws Exception {
shouldThrow(MyException.class);
doSomethingThatMightThrowMyException();
}
Run Code Online (Sandbox Code Playgroud)
当且仅当抛出MyException时,这应该成功.JUnit中有ExceptionTestCase类,但我想要一些每个test*方法可以决定使用或不使用的东西.实现这一目标的最佳方法是什么?
解决方案是:
public void testMyExceptionThrown() throws Exception {
try {
doSomethingThatMightThrowMyException();
fail("Expected Exception MyException");
} catch(MyException e) {
// do nothing, it's OK
}
}
Run Code Online (Sandbox Code Playgroud)
适合你的想法?
还看看这个帖子,有人为JUnit3创建了一个代理解决方案,这似乎是解决问题的另一种可能性.