首页 > 代码库 > 【转】SpringTest框架JUnit单元测试用例获取ApplicationContext实例的方法
【转】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 { @Autowiredprotected 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); }
【转】SpringTest框架JUnit单元测试用例获取ApplicationContext实例的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。