繁体   English   中英

如何在Spring的TestExectionListener中获取JUnit5的TestInstance的LifeCycle?

[英]How to get JUnit5's TestInstance's LifeCycle in Spring's TestExectionListener?

有没有办法在 SpringTest 的TestExecutionListener中获取TestInstance.LifeCycle (PER_CLASS 或 PER_METHOD)?

比如在方法afterTestMethod(TestContext testContext)中,如何获取当前TestInstance的LifeCycle?

我查看了 TestContext 代码,但似乎没有相关的 API。

然后,我尝试遍历testContext.getTextClass().getDeclaredAnnotations() ,但我认为这还不够,因为 JUnit5 支持在属性或系统环境中声明默认生命周期。

还有其他方法可以实现这一目标吗? 谢谢。

不,您不能从 Spring TestExecutionListener访问 JUnit Jupiter API 或测试实例生命周期等功能。

Spring TestExecutionListenerTestContext API 与底层测试框架无关(例如,JUnit、TestNG 等)。

如果您需要访问特定于 JUnit 的功能,您可以考虑实现 JUnit Jupiter Extension而不是 Spring TestExecutionListener 请注意,Spring TestExecutionListener可以通过SpringExtension.getApplicationContext(ExtensionContext)获取对 Spring ApplicationContext的访问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM