zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    工作中遇到的令人头疼的bug
    Cookie的简单用法
    C#之#if #endif的简单用法
    我们一起学习WCF 第十篇Wcf中实现事务
    一次性搞定Session
    设计模式-观察者模式
    类的扩展之 DataReader的扩展
    C#之Ref,Out以及TryParse()的用法
    C#之Lambda不得不说的用法
    C#之Action和Func的用法
  • 原文地址:https://www.cnblogs.com/hihtml5/p/6680526.html
Copyright © 2011-2022 走看看