java – 在TestExecutionListener类中为BeforeClass junit使用Autowired

前端之家收集整理的这篇文章主要介绍了java – 在TestExecutionListener类中为BeforeClass junit使用Autowired前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我需要在junit中执行@BeforeClass方法,但是使用Spring注入值,因此无法将私有变量切换为静态.我正在尝试执行此监听器并创建一个监听器类,但我遇到了这个问题.

我也需要在这个类中使用Autowire的值,因为我想运行BeforeClass的方法调用@Autowired注入的变量.但是,由于某种原因,它不起作用,此值仍为空.有没有人遇到这样的问题?

最佳答案
它不是最干净的,但它有效:

public 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);
    }
}
原文链接:https://www.f2er.com/spring/431813.html

猜你在找的Spring相关文章