微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.jb51.cc/spring/431813.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐