有没有办法在SpringTest的TestExecutionListener中获取TestInstance.LifeCycle(PER_CLASS或PER_METHOD)?
例如,在方法afterTestMethod(TestContext testContext)
中,如何获取当前TestInstance的生命周期?
我查看了TestContext代码,但似乎没有相关的API。
然后,我尝试遍历testContext.getTextClass().getDeclaredAnnotations()
,但我认为这是不够的,因为JUnit5支持在属性或系统环境中声明默认生命周期。
还有别的办法吗?谢谢。
1条答案
按热度按时间7cwmlq891#
不能,您不能从Spring
TestExecutionListener
访问JUnit Jupiter API或特性,例如测试示例生命周期。Spring
TestExecutionListener
和TestContext
API与底层测试框架(例如,JUnit、TestNG等)无关。如果需要访问JUnit特定的特性,可以考虑实现JUnit Jupiter
Extension
而不是SpringTestExecutionListener
。注意,SpringTestExecutionListener
可以通过SpringExtension.getApplicationContext(ExtensionContext)
访问SpringApplicationContext
。