我正在使用JUnit5 + Sping Boot 运行测试。
我已经实现了一个自定义的TestExecutionListener。
我正在尝试将Spring的Environment对象自动连接到这个自定义侦听器。
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
import org.junit.platform.launcher.TestExecutionListener;
import org.springframework.beans.factory.annotation.Autowired;
@Component
public class MyListener implements TestExecutionListener {
@Autowired
Environment env;
@Override
public void testPlanExecutionStarted(TestPlan testPlan) {
System.out.println("Hi!");
}
}
这是不工作的,我得到的env
空。
据我所知,这是因为负责加载此侦听器的是JUnit,而不是Spring。
此外,Spring上下文是在加载该类之后加载的,此时进行注入已经太晚了。
有没有办法实现我想做的事情?
谢谢你
1条答案
按热度按时间i2byvkas1#
您可以通过在junit
@ExtendWith
注解中传递SpringExtension
类来实现这一点。参考编号:
在我的
application.properties
中,我有这些属性。注:
classpath:application.properties
指src/test/resources/application.properties