【Spring】Junit加载Spring容器作单元测试
2016-07-05 22:28
615 查看
如果我们需要对我们的Service方法作单元测试,恰好又是用Spring作为IOC容器的,我们可以这么配置Junit加载Spring容器,方便做单元测试。
(2)写测试类
测试类中要设置加载哪些Spring的配置(我这里是“/config/application*.xml”),然后就可以注入容器中的bean了。
然后需要的各个测试类继承公用类:
> 基本的搭建
(1)引入所需的包<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>3.2.10.RELEASE</version> </dependency>
(2)写测试类
测试类中要设置加载哪些Spring的配置(我这里是“/config/application*.xml”),然后就可以注入容器中的bean了。
package com.nicchagil.mybatis3spring3intg.junit; import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.nicchagil.mybatis3spring3intg.bean.User; import com.nicchagil.mybatis3spring3intg.service.UserService; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({"/config/application*.xml"}) public class JunitTest { @Autowired private UserService userService; @Test public void c1() { List<User> userList = userService.query(new User()); System.out.println(userList); } }
> 常见的用法
常用的方式是将加载配置的部分公用出来:package com.nicchagil.mybatis3spring3intg.junit; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({"/config/application*.xml"}) public class BaseJunit { }
然后需要的各个测试类继承公用类:
package com.nicchagil.mybatis3spring3intg.junit; import java.util.List; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import com.nicchagil.mybatis3spring3intg.bean.User; import com.nicchagil.mybatis3spring3intg.service.UserService; public class UserServiceTest extends BaseJunit { @Autowired private UserService userService; @Test public void c1() { List<User> userList = userService.query(new User()); System.out.println(userList); } }
相关文章推荐
- 【Java进阶八】匿名内部类
- java语言程序设计基础篇第六章编程练习题
- 学习javaee的第一天
- myeclipse 上安装 Maven3(转)
- eclipse集成fat jar失败总结
- Java基础与案例开发详解の反射机制(完整)
- [Java学习日志]关于字符串的二三事
- spring学习(三)—AOP
- Java基础知识(一)
- 反人类的MyEclipse之-eclipse设置花括号换行显示
- Spring之AOP专题报道(自己总结版)
- Redkale RESTful 插件介绍
- JAVA并发编程的艺术目录
- java 冒泡排序算法
- 《深入理解Java集合框架》系列文章
- Java的反射解析
- Struts源码分析1
- RxJava 事件流之转换数据流
- shiro springmvc 注解 ajax和同步请求 无权限处理处理
- java 对象之间属性值复制