有没有办法在完整测试运行期间记录 JUnit5 @Disabled原因值?

我已经用尽了各种搜索词,我认为可以直接回答我,而且我没有找到任何明确的搜索词(即使在JUnit5的文档中也是如此)。有没有办法从JUnit5中的@Disabled注释中检索“原因”?我正在使用的当前方法:

  1. 创建实现 BeforeEachCallback 的扩展类

  2. 循环测试方法注释以查找instanceof Disabled

  3. 找到该注释后,检索原因值和日志

该逻辑就在那里,并且适用于单个特定的测试运行,但是当我运行一个完整的测试类时,该方法在BeforeachCallback的@Override中被跳过。因此,我假设 JUnit 做了一些魔术,将其从整个测试运行生命周期中排除。如果是这种情况,有没有办法检索该注释并将其记录在比 BeforeEachCallback 更早的位置?我也尝试过 BeforeAllCallback,但无法访问测试类的方法子级。


红颜莎娜
浏览 64回答 1
1回答

慕少森

不为通过 禁用的测试方法调用扩展 API(如)。BeforeEachCallbackExecutionConditionJUnit Jupiter 5.4 引入了一个新的扩展 API,该 API 具有针对已禁用测试的回调。您可以在用户指南中找到有关它的更多信息。TestWatchertestDisabled()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java