我已经用尽了各种搜索术语,我认为它会给我一个直接的答案,而且我没有找到任何确定的(即使在JUnit5的文档中)。有没有办法从JUnit5中的@Disabled注释中检索“原因”?我正在使用的当前方法:
instanceof Disabled
逻辑在那里并且在单个特定的测试运行上工作,但是当我运行完整的测试类时,在BeforeEachCallback的@Override中跳过该方法。所以我假设JUnit做了一些魔术,将整个测试运行生命周期排除在外。如果是这种情况,有没有办法检索该注释并将其记录在早于BeforeEachCallback的点?我也尝试过BeforeAllCallback,但是无法访问测试类的子方法。
对于通过BeforeEachCallback
禁用的测试方法,不会调用ExecutionCondition
等扩展API。
JUnit Jupiter 5.4引入了一个新的TestWatcher
扩展API,它具有用于禁用测试的testDisabled()
回调。你可以在User Guide找到更多相关信息。