Junit:在不期望异常时添加处理逻辑

时间:2010-05-04 10:07:31

标签: exception junit

我正在尝试打印异常的堆栈跟踪。

但是,对于否定测试用例,仅打印意外的异常。

我正在使用@Rule ExpectedException来执行异常检测。

我不知道如何在抛出意外异常的情况下添加处理逻辑。

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

@Test
public void myTest() throws Exception {
    thrown.expect(MyException.class);
    thrown.expectMessage("expected message");
}

3 个答案:

答案 0 :(得分:1)

难道你不能简单地在测试方法中捕获异常,然后打印堆栈跟踪吗? (如果你愿意,甚至可以重新抛出它。)

答案 1 :(得分:0)

您是否尝试过实施WatchmanTest.failed

答案 2 :(得分:0)

Franziga,您可以尝试catch-exception来满足您的理论兴趣:

@Test
public void myTest() throws Exception {

    catchException(obj).doSomethingExceptional();
    log(caughtException());
    assertTrue(caughtException() instanceof MyException.class);
    assertEquals("expected message", caughtException().getMessage());

}