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/

  • 相关阅读:
    html不点击提交,自动post
    wpf slider刻度
    visual studio 的 code snippet(代码片段)
    更换手机号之前
    post提交
    动态修改settings
    获取文件数据流+叠加byte数组(给byte数组加包头包尾)
    装箱与拆箱
    ue4中窗口打开web地址
    C++通过Callback向C#传递数据,注意问题
  • 原文地址:https://www.cnblogs.com/hihtml5/p/6680526.html
Copyright © 2011-2022 走看看