我正在处理的项目目前正在使用 JUnit 4.10,并且正在尝试升级到 4.12,以从最近 2 个版本中引入的一些功能中受益。
但是,TestWatcher 发生了变化,现在正在捕获从其任何生命周期方法(启动、完成等)抛出的每个异常。这会导致一些问题,因为我们有一个远程记录的观察者,所以如果由于某种原因服务器出现故障,我们希望能够跳过测试,而不是让它失败。
到目前为止,我们已经捕获了 IOException 并将其作为 AssumptionViolatedException 重新抛出,因此测试将被跳过。现在,有了新的观察者,异常被捕获,测试正常运行,最后失败,因为观察者有一个非空的错误列表。
有什么办法吗?我应该只写自己的规则吗?