由于历史代码的原因,产品中部分spring装配的实例需要通过Container的实现类(自定义的)去获取。那么当在单元测试中怎么实例化这个Container实现呢?

实例化Container实现需要ApplicationContext实例。

现在问题演变成怎么在test case中拿到ApplicationContext实例。

不想通过硬编码的形式搞,想通过注解搞,怎么弄呢?

其实很简单:SpringJUnit4ClassRunner拉起来的类,会对加了@Autowired的ApplicationContext字段做自动装配

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value = {"/test/conf/applicationContext-test-common.xml"})
public class XXXServiceActionTest
{
@Autowired
private ApplicationContext applicationContext; @Before
public void setUp()
throws Exception
{
Application.getInstance().setContainer(new SpringContainer(applicationContext));
} @Test
public void test()
{

SpringJUnit4ClassRunner拉起来的单元测试怎么装配Container实例的更多相关文章

  1. jquery 实现滚动条下拉时无限加载的简单实例

    var lastId=0;//记录每一次加载时的最后一条记录id,跟您的排序方式有关.     var isloading = false;   $(window).bind("scroll ...

  2. JAVA入门[13]-Spring装配Bean

    一.概要 Sping装配bean主要有三种装配机制: 在XML中进行显式配置. 在Java中进行显式配置. 隐式的bean发现机制和自动装配. 原则: 建议尽可能地使用自动配置的机制,显式配置越少越好 ...

  3. Spring学习之旅(三)--装配Bean

    装配 Bean 的方式 在 XML 中进行显式配置 在 Java 中进行显式配置 隐式的 Bean 发现机制和自动装配 Spring 提供了以上三种方式进行 Bean 的配置,可以根据自己的需求选择一 ...

  4. jQuery无限级联下拉框插件

    自己编写jQuery插件 之 无限级联下拉框   因为是级联,所以数据必须是树型结构的,我这里的测试数据如下: 看下效果图: 1.>图一: 2.>图二: 3.>图三: 由图可知,下拉 ...

  5. Spring Controller单元测试

    SpringMVC controller测试较简单,从功能角度划分,可分为两种.一种是调用请求路径测试,另一种是直接调用Controller方法测试. 调用请求路径测试 通过请求路径调用,请求需要经过 ...

  6. spring集成Junit做单元测试及常见异常解决办法

    spring-test依赖包 <!--Spring-test --> <!-- https://mvnrepository.com/artifact/org.springframew ...

  7. swing 下拉菜单

    package rom; import java.lang.*; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; i ...

  8. (翻译)React Container Components

    原文:Container Components Container Components 在 React 模式上对我的代码有最深远影响的一个模式叫 container component 模式. 在 ...

  9. react native Expo完全基于ScrollView实现的下拉刷新和上拉触底加载

    我直接封装成了一个组件 props参数为 static propTypes = { style:PropTypes.object, // 样式 refreshing:PropTypes.bool.is ...

随机推荐

  1. OpenGL extension specification (from openGL.org)

    Shader read/write/atomic into UAV global memory (need manual sync) http://www.opengl.org/registry/sp ...

  2. 《你不知道的JavaScript》读书笔记(二)词法作用域

    JavaScript 采用的是 词法作用域 的工作模型. 定义 词法化:大部分标准语言编译器的第一个工作阶段叫词法化(单词化),这个过程会对源代码中的字符进行检查,如果是有状态的解析过程,还会赋予单词 ...

  3. empty()与remove([expr])的区别.转

    jquery之empty()与remove()区别   要用到移除指定元素的时候,发现empty()与remove([expr])都可以用来实现.可仔细观察效果的话就可以发现.empty()是只移除了 ...

  4. 字符串复制char *strcpy(char* dest, const char *src);

    ⒈strcpy的实现代码 char * strcpy(char * strDest,const char * strSrc) { if ((NULL==strDest) || (NULL==strSr ...

  5. PROTEL99SE封装说明

    PROTEL99SE封装说明 路板上的焊盘间的距离也就是300mil(因为在电机领域里,是以英制单位为主的.同样的, 对于无极性的电容,RAD0.1-RAD0.4  也是一样:对有极性的电容如电解电容 ...

  6. web前端性能概述

    1.认识前端性能 不管你的网站设计的有多好,后端有多好,对于用户来说全部都是无感知的,用户只关心页面打开的速度,而前端性能表现很大程度上影响着用户的这种感知. 改善前端的性能对用户感知的整体性能提升有 ...

  7. JMS相关概念

    1.相关概念 1)JMS jms即Java消息服务(Java Message Service) 是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息 ...

  8. heapsort

    Introduction to Algorithms Third Edition The (binary) heap data structure is an array object that we ...

  9. 【转】【DP_树形DP专辑】【9月9最新更新】【from zeroclock's blog】

    树,一种十分优美的数据结构,因为它本身就具有的递归性,所以它和子树见能相互传递很多信息,还因为它作为被限制的图在上面可进行的操作更多,所以各种用于不同地方的树都出现了,二叉树.三叉树.静态搜索树.AV ...

  10. 在fortran下进行openmp并行计算编程

    最近写水动力的程序,体系太大,必须用并行才能算的动,无奈只好找了并行编程的资料学习了.我想我没有必要在博客里开一个什么并行编程的教程之类,因为网上到处都是,我就随手记点重要的笔记吧.这里主要是open ...