JUnit故障回调/方法

时间:2013-11-13 14:56:20

标签: unit-testing junit callback annotations handler

是否有可能在测试用例或断言失败时触发方法,以便在测试用例失败时执行某些操作(例如,在UI测试时屏幕截图,编写错误日志等等)。 / p>

也许有类似注释的东西,我还没有注意到。

提前致谢!

1 个答案:

答案 0 :(得分:6)

您可以使用TestWatcher规则并实施自己的failed方法来截取屏幕或测试失败时需要执行的操作。来自official documentation

的略微修改的示例
public static class WatchmanTest {
    private static String watchedLog;

    @Rule
    public TestRule watchman = new TestWatcher() {
        @Override
        protected void failed(Throwable e, Description description) {
            watchedLog += d + "\n";
            // take screenshot, etc.
        }
    };

    @Test
    public void fails() {
        fail();
    }
}