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

问题描述 投票:1回答:1

我已经用尽了各种搜索术语,我认为它会给我一个直接的答案,而且我没有找到任何确定的(即使在JUnit5的文档中)。有没有办法从JUnit5中的@Disabled注释中检索“原因”?我正在使用的当前方法:

  1. 创建一个实现BeforeEachCallback的扩展类
  2. 循环通过测试方法注释寻找instanceof Disabled
  3. 在找到该注释时,检索原因值并记录

逻辑在那里并且在单个特定的测试运行上工作,但是当我运行完整的测试类时,在BeforeEachCallback的@Override中跳过该方法。所以我假设JUnit做了一些魔术,将整个测试运行生命周期排除在外。如果是这种情况,有没有办法检索该注释并将其记录在早于BeforeEachCallback的点?我也尝试过BeforeAllCallback,但是无法访问测试类的子方法。

java junit annotations junit5
1个回答
1
投票

对于通过BeforeEachCallback禁用的测试方法,不会调用ExecutionCondition等扩展API。

JUnit Jupiter 5.4引入了一个新的TestWatcher扩展API,它具有用于禁用测试的testDisabled()回调。你可以在User Guide找到更多相关信息。

© www.soinside.com 2019 - 2024. All rights reserved.