java 如何在Spring的TestExectionListener中获取JUnit5的测试示例的生命周期?

eeq64g8w  于 2022-12-10  发布在  Java
关注(0)|答案(1)|浏览(114)

有没有办法在SpringTest的TestExecutionListener中获取TestInstance.LifeCycle(PER_CLASS或PER_METHOD)?
例如,在方法afterTestMethod(TestContext testContext)中,如何获取当前TestInstance的生命周期?
我查看了TestContext代码,但似乎没有相关的API。
然后,我尝试遍历testContext.getTextClass().getDeclaredAnnotations(),但我认为这是不够的,因为JUnit5支持在属性或系统环境中声明默认生命周期。
还有别的办法吗?谢谢。

7cwmlq89

7cwmlq891#

不能,您不能从Spring TestExecutionListener访问JUnit Jupiter API或特性,例如测试示例生命周期。
Spring TestExecutionListenerTestContext API与底层测试框架(例如,JUnit、TestNG等)无关。
如果需要访问JUnit特定的特性,可以考虑实现JUnit Jupiter Extension而不是Spring TestExecutionListener。注意,Spring TestExecutionListener可以通过SpringExtension.getApplicationContext(ExtensionContext)访问Spring ApplicationContext

相关问题