[英]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 TestExecutionListener
和TestContext
API 与底层测试框架无关(例如,JUnit、TestNG 等)。
如果您需要访问特定于 JUnit 的功能,您可以考虑实现 JUnit Jupiter Extension
而不是 Spring TestExecutionListener
。 请注意,Spring TestExecutionListener
可以通过SpringExtension.getApplicationContext(ExtensionContext)
获取对 Spring ApplicationContext
的访问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.