【发布时间】:2020-04-03 11:33:22
【问题描述】:
Junit5 中是否有任何钩子对 @Before* 方法中的失败做出反应?
我使用@BeforeAll 方法为我的测试初始化环境。但是这种初始化有时可能会失败。我想转储环境,找出问题所在,但我需要在调用 @After* 方法之前进行,这将清除环境并销毁所有信息。
我们在整个测试套件中讨论了几十个这样的 @BeforeAll 方法,因此在每个方法中手动执行它不是一种选择。
我已经尝试过这些,但没有运气:
-
TestWatcher对此不起作用,因为它仅在执行实际测试时才会触发。 -
TestExecutionListener.executionFinished看起来很有希望,但它会在所有 @After 方法之后触发,这对我来说为时已晚。 - 我什至尝试在@AfterAll 清理方法中执行此操作,在实际清理之前。但无法检测到执行了哪些测试或是否有任何失败。
有什么想法吗?
【问题讨论】: