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