java - 从 TestWatcher 跳过测试

标签 java junit4 junit-rule

我正在从事的项目当前正在使用 JUnit 4.10,并正在尝试升级到 4.12,以从最后 2 个版本中引入的一些功能中受益。

但是,TestWatcher 已发生变化,现在正在捕获从其任何生命周期方法(开始、完成等)抛出的每个异常。这会导致一些问题,因为我们有一个远程日志记录程序,因此如果由于某种原因服务器出现故障,我们希望能够跳过测试,而不是使其失败。

到目前为止,我们已经捕获了 IOException 并将其重新抛出为 AsclusionViolatedException,因此测试将被跳过。现在,使用新的观察程序,异常被捕获,测试正常运行,但最终失败,因为观察程序有一个非空的错误列表。

有什么办法可以解决吗?我应该编写自己的规则吗?

最佳答案

您需要编写自己的规则。 TestWatcher 规则并不是为了让您跳过测试。

关于java - 从 TestWatcher 跳过测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28371648/

相关文章:

java - 是否可以在接口(interface)内创建 JUnit 规则

java - 如何使用 Maven 将文件复制到 tomcat webapp 文件夹?

java - 允许用户选择 JList 上的多个项目

java.lang.Exception : No runnable methods exception in running JUnits

java - 如何使用 ExpectedException 规则在一个测试中测试多个异常?

java - JUnit getMethodName 返回 null

java - 如何迭代二维数组java

java - HashSet的统计

java - 使用 EasyMock 和 Junit 忽略方法/void 方法

java - 由于公私字段悖论,无法使用 Junit @Rule 进行 CdiUnit 测试