如果在Junit上测试失败,则运行方法

jgzswidk  于 2022-12-04  发布在  其他
关注(0)|答案(1)|浏览(151)

我在我的Selenium框架中添加了一个在测试结束时获取屏幕截图的方法,但是由于一些测试由于失败而无法一直运行到最后。我想实现一个规则,以便在测试失败时运行此屏幕截图方法。
类似于:

@Rule
public Failure fail = new Failure();

if (fail)
{
    // Method
}
7eumitmz

7eumitmz1#

你可以使用TestWatcher,它有失败和成功结果的钩子。

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

public class Test1 {

    @Rule
    public TestWatcher watch = new TestWatcher() {
        @Override
        protected void failed(Throwable e, Description description) {
            System.out.println("failed");
        }
    };

    @Test
    public void test() {
        Assert.assertEquals(2, 4);
    }

}

相关问题