在测试中接收异常时调用自定义方法

时间:2014-09-01 07:27:40

标签: java exception junit exception-handling

我希望找到在测试中抛出异常时可以调用自定义方法。我有几个测试(注释@Test),我只想写一个方法来处理我的方式中的异常(例如为junit等编写自定义消息)。 (我正在寻找每次测试都没有尝试/捕获块的东西)

提前致谢。

2 个答案:

答案 0 :(得分:0)

如果你使用Spring,也许你可以考虑Exception Handler

http://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc

答案 1 :(得分:0)

请尝试使用JUnit TestRule,如下所示:

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;

public class TestWatcherExample {

    @Rule
    public MyTestWatcher myTestWatcher = new MyTestWatcher();

    @Test
    public void testName() throws Exception {
        System.out.println("hello");
        throw new Exception("ooops, something bad just happened");
    }

    public static class MyTestWatcher extends TestWatcher {

        @Override
        protected void failed(Throwable e, Description description) {
            super.failed(e, description);
            // Just doing my special stuff here
            System.out.println("test faild with this message " + e.getMessage());
        }

    }

}

如果您需要有关测试规则的额外信息,请参阅此处:https://github.com/junit-team/junit/wiki/Rules