我需要在junit中执行@BeforeClass方法,但是使用Spring注入值,因此无法将私有变量切换为静态.我正在尝试执行此监听器并创建一个监听器类,但我遇到了这个问题.
我也需要在这个类中使用Autowire的值,因为我想运行BeforeClass的方法调用@Autowired注入的变量.但是,由于某种原因,它不起作用,此值仍为空.有没有人遇到这样的问题?
最佳答案
它不是最干净的,但它有效:
原文链接:https://www.f2er.com/spring/431813.htmlpublic class MyTestListener extends AbstractTestExecutionListener {
@Value("${my.value}")
private String myValue;
@Autowired
private MyBean myBean;
@Override
public void beforeTestClass(TestContext testContext) throws Exception {
testContext.getApplicationContext()
.getAutowireCapablebeanfactory()
.autowireBean(this);
}
}