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


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

    JUnit单元测试用例中使用Spring框架,直接方式如下。

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = { "/spring/applicationContext.xml" })
    public class SpringTest {}

    想要获取ApplicationContext实例。可以添加了对ApplicationContext的注入

    RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = { "/spring/applicationContext.xml" })
    public class SpringTest {
     
    @Autowired
    protected ApplicationContext ctx;

    Spring中早已直接提供了更加方便使用的基类:AbstractJUnit4SpringContextTests

    @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;
    }
     
    }

    本人补充:

    若在静态类中需要引用只能使用如下方法:

    public class TPlatformInfoTest extends TestBase{
        
        private static MyHttpClient TPlatformInfoDispose;
        
        @BeforeClass
        public static void setUpBeforeClass(){
            System.out.println("***********here init first***************");
            TPlatformInfoDispose = new MyHttpClient("platform");
            DataSourceContextHolder.setDbType("ds2");
            ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:WEB-INF/rest-*.xml");
            pfm = ctx.getBean(TPlatformInfoMapper.class);
            dim = ctx.getBean(TDeviceInfoMapper.class);
        }
  • 相关阅读:
    Redhat 7使用CentOS 7的Yum网络源
    指定YUM安装包的体系结构或版本
    CURL常用命令
    VIM技巧之去除代码行号并缩进代码
    VIM 中鼠标选择不选中行号
    linux服务器性能优化
    阻塞,非阻塞,同步,异步
    WEB三层架构与MVC
    mvc与三层结构
    Centos环境下Tomcat启动缓慢
  • 原文地址:https://www.cnblogs.com/dorothychai/p/3968361.html
Copyright © 2020-2023  润新知