【转】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);
    }
时间: 2024-08-28 19:28:45

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

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

JUnit单元测试用例中使用Spring框架,之前我的使用方式很直接. /** * 用于需要用到Spring的测试用例基类 * * @author lihzh * @alia OneCoder * @blog http://www.coderli.com */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "/spring/applicationContext.xml" }) pu

获取applicationContext对象的方法

方法一:在初始化时保存ApplicationContext对象 代码: ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml"); ac.getBean("beanId"); 说明:这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的情况. 方法二:通过Spring提供的工具类获取ApplicationConte

Spring容器中获取bean实例的方法

// 得到上下文环境 WebApplicationContext webContext = ContextLoader .getCurrentWebApplicationContext(); // 使用上下文环境中的getBean方法得到bean实例 InhospDoctorStationController controller = (InhospDoctorStationController) webContext.getBean("inhospDoctorStationController

Spring测试框架JUnit搭建测试环境 不通过web服务器 初始化spring bean对象

直接使用 JUnit 测试 Spring 程序存在的不足 需要使用硬编码方式手工获取 Bean:在测试用例中,我们需要通过 ApplicationContext.getBean() 的方法从 Spirng 容器中获取需要测试的目标 Bean,并且还要进行造型操作. 数据库现场容易遭受破坏:测 试方法可能会对数据库记录进行更改操作,破坏数据库现场.虽然是针对开发数据库进行测试工作的,但如果数据操作的影响是持久的,将会形成积累效应并影响到 测试用例的再次执行.举个例子,假设在某个测试方法中往数据库插

如何使用junit4写单元测试用例

JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写. 先 简单解释一下什么是Annotation,这个单词一般是翻译成元数据.元数据是什么?元数据就是描述数据的数据.也就是说,这个东西在Java里面可以 用来和public.static等关键字一样来修饰类名.方法名.变量名.修饰的作用描述这个数据是做什么用的,差不多和public描述这个数据是公 有的一样.想具体了解可以看Core    Java2.废话不多说了,直接进入正题

Spring获取ApplicationContext方式,和读取配置文件获取bean的几种方式

转自:http://chinazhaokeke.blog.163.com/blog/static/109409055201092811354236  Spring获取ApplicationContext方式 我自己常用的方法: 读取一个文件1 //创建Spring容器 2 ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); 3 //获取chinese 实例 4 Person p = ctx.g

spring中获取applicationContext

常用的5种获取spring 中bean的方式总结: 方法一:在初始化时保存ApplicationContext对象代码:ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml");ac.getBean("beanId");说明:这种方式适用于采用Spring框架的独立应用程序,需要程序通过配置文件手工初始化Spring的情况. 方法二:通过Spring提供

&lt;&lt;ABP框架&gt;&gt; 工作单元

文档目录 本节内容: 简介 在ABP中管理连接和事务 约定的工作单元 UnitOfWork 特性 IUnitOfWorkManager 工作单元详情 禁用工作单元 非事务性工作单元 工作单元方法调用另一个方法 工作单元域 自动保存修改 IRepository.GetAll() 方法 UnitOfWork 限制 选项 方法 SaveChanges 事件 简介 在一个使用数据库的应用里,连接和事务是非常重要的,何时打开一个连接,何时开启一个事务,如果释放连接等等.ABP通过工作单元系统管理数据库的连

【Android进阶】Junit单元測试环境搭建以及简单有用

单元測试的目的 首先.Junit单元測试要实现的功能,就是用来測试写好的方法是否可以正确的运行,一般多用于对业务方法的測试. 单元測试的环境配置 1.在AndroidManifest清单文件的Application节点下.引入单元測试使用的库 2.在AndroidManifest清单文件与Application节点平行的节点中.加入instrumentation节点 以下是一个完整的配置的代码 <manifest xmlns:android="http://schemas.android.