• SpringTest框架JUnit单元测试用例获取ApplicationContext实例的方法


    JUnit单元测试用例中使用Spring框架,之前我的使用方式很直接。

    /**
     * 用于需要用到Spring的测试用例基类
     * 
     * @author lihzh
     * @alia OneCoder
     * @blog http://www.coderli.com
     */
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = { "/spring/applicationContext.xml" })
    public class SpringTest {}

    在测试的过程中,有人提到,想要获取ApplicationContext实例。于是,添加了对ApplicationContext的注入。

    **
     * 用于需要用到Spring的测试用例基类
     * 
     * @author lihzh
     * @alia OneCoder
     * @blog http://www.coderli.com
     */
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = { "/spring/applicationContext.xml" })
    public class SpringTest {
    
    @Autowired
    protected ApplicationContext ctx;

    其实,Spring中早已直接提供了更加方便使用的基类:AbstractJUnit4SpringContextTests。修改代码如下:

    /**
     * 用于需要用到Spring的测试用例基类
     * 
     * @author lihzh
     * @alia OneCoder
     * @blog http://www.coderli.com
     */
    @ContextConfiguration(locations = { "/spring/applicationContext.xml" })
    public class SpringTest extends AbstractJUnit4SpringContextTests {
    
    public <T> T getBean(Class<T> type) {
    return applicationContext.getBean(type);
    }
    
    public Object getBean(String beanName) {
    return applicationContext.getBean(beanName);
    }
    
    protected ApplicationContext getContext() {
    return applicationContext;
    }
    
    }

    代码也简洁多了。

    现在想想,你想要的常用功能,一般人家都能想到了。做之前,不妨先查查有没有现成可用的工具吧:)

    转自:http://www.coderli.com/junit-spring-test-applicationcontext/

  • 相关阅读:
    类继承
    抽象基类 纯虚函数
    虚函数
    Java网络通信
    Java补补补
    刷LeetCode吧
    贝叶斯网络的
    vscode添加vue模板
    vue--项目实例
    Java01
  • 原文地址:https://www.cnblogs.com/hihtml5/p/6680526.html
Copyright © 2020-2023  润新知