java - 如果在 Junit 上测试失败,则运行方法
问题描述
我在我的 Selenium 框架中添加了一个在测试结束时截取屏幕截图的方法,但是由于某些测试由于失败而无法一直运行到最后。如果测试失败,我想实施一个规则来运行这个截图方法。
就像是:
@Rule
public Failure fail = new Failure();
if (fail)
{
// Method
}
解决方案
您可能会使用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 watchman = new TestWatcher() {
@Override
protected void failed(Throwable e, Description description) {
System.out.println("failed");
}
};
@Test
public void test() {
Assert.assertEquals(2, 4);
}
}
推荐阅读
- python - OpenCV 错误:由于图像而导致断言失败
- java - 使用链表进行散列
- c# - 使用 Automapper 将多个列表转换为单个主子对象列表
- linux - 使用 bash 编辑 linux 环境变量
- sql - 在选择 sql 查询中选择
- c# - C# LINQ 如何从另一个列表中的一个列表中查找匹配项并检查另一个列表中的属性
- sql-server - SQL Server 如何处理执行不同任务的连接?
- spring - Spring Integration IMAP - 无法获取消息的正文
- java - 当我尝试将 spark 导入 maven 项目时,构建工作区遇到问题
- powershell - 从 powershell 数组求和时如何包含某些值?