SpringJUnit4ClassRunner拉起来的单元测试怎么装配Container实例

由于历史代码的原因,产品中部分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()
    {
时间: 2024-12-15 02:46:53

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

单元测试——NUnit测试简单实例

一.测试准备工作:NUnit的下载及安装 http://blog.csdn.net/wangqingbo0829/article/details/43975243 二.流程: (1)存在一个已实现的"待测项目",例:CountFunction: (2)新建一个测试项目最好以"待测项目名称.Test"命名,例:CountFunction.Test: (3)添加对待测项目的引用(步骤:①在"添加引用"处添加:②导入命名空间): (4)添加引用nuni

spring学习笔记(5)装配Bean 实例工厂 【资源来自网络 版权非本人】

实例工厂:必须现有工厂的实例对象,通过实例对象创建对象.所有的方法都是非静态的(这一点和静态工厂有区别) (直接看代码) 工厂(和静态工厂的区别就是非静态 其他都一样) package c_inject.c_factory; /* * 实例工厂 */ public class MyBeanFactory { public UserService createService(){ return new UserserviceImpl(); } } 配置(配置和静态的有点区别  仔细看看吧 ) <?

自己编写jQuery插件 之 无限级联下拉框

因为是级联,所以数据必须是树型结构的,我这里的测试数据如下: 看下效果图: 1.>图一: 2.>图二: 3.>图三: 由图可知,下拉框的个数并不是写死的,而是动态加载的.每当下拉框选择改变的时候,会发送一次ajax请求,请求成功返回json格式数据,当返回的数据不为空时(即有子节点时),则会向页面中添加一个下拉框,没有则不添加. 插件的实现代码如下: (function ($) { $.fn.CascadingSelect = function (options) { //默认参数设置

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

spring-test依赖包 <!--Spring-test --> <!-- https://mvnrepository.com/artifact/org.springframework/spring-test --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version&g

mui的下拉刷新和上拉加载

代码定义: var refresh = function(){ mui.init({ pullRefresh : { container:'#refreshContainer',//下拉刷新容器标识,querySelector能定位的css选择器均可,比如:id..class等 down : { height:50,//可选,默认50.触发下拉刷新拖动距离, auto: false,//可选,默认false.自动下拉刷新一次 contentdown : "下拉可以刷新",//可选,在下

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

我直接封装成了一个组件 props参数为 static propTypes = { style:PropTypes.object, // 样式 refreshing:PropTypes.bool.isRequired,//是否开始下拉刷新动画 refreshBegin: PropTypes.func,// 开始下拉刷新回调 scrollEnd: PropTypes.func,// 触底回调 }; 使用示例 import React from 'react'; import { View, } f

@RunWith(SpringJunit4ClassRunner.class) 简介

1.今天我在看Spring实战这本书时,我看到了@RunWith(SpringJunit4ClassRunner.class)这样的单元测试 package com.xuefei.spring_pro.test; import static org.junit.Assert.assertNotNull; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.

Angularjs 基于karma和jasmine的单元测试

目录: 1. 单元测试的配置 2. 实例文件目录解释 3. 测试controller     3.1 测试controller中变量值是否正确     3.2 模拟http请求返回值,测试$http服务相关 4. 从文件中读取json,来模拟 http请求返回数据 5. 测试返回promise的service 已经有很多教程提到了angularjs项目的单元测试,但大都不是很全,如一些入门的文章,介绍了测试http service 却没有介绍如何从文件中读取测试数据来仿真.一些介绍如何从文件中读

(实用篇)jQuery+PHP+MySQL实现二级联动下拉菜单

二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动.本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果. 先看下效果 大类:  前端技术   程序开发   数据库   小类: 实现的效果就是当选择大类时,小类下拉框里的选项内容也随着改变.实现原理:根据大类的值,通过jQuery把值传给后台PHP处理,PHP通过查询MySQl数据库,得到相应的小类,并返回JSON数据给前端处理. XHTML 首先我们要建立两个下拉选择框,第一个是大类