SpringFramework4系列之SpringTest:(一)Spring4整合Junit
2015-07-13 00:00
501 查看
摘要: 使用SpringTest整合junit ,让代码更加简洁,编写单元测试更加方便。
构建Spring 应用之后呢,编写单元测试就显得比较麻烦了,因为绝大部分的类都交给了spring托管了,需要人为的去加载spring的配置文件等等,或者需要编码去从spring 哪里得到某个类的实例等。
1.1 整合SpringTest之前的单元测试编码
同时我们还可以发现 测试依赖的类 也被打上注解@Autowired 实行自动装填。
整体的结构很简洁了。
构建Spring 应用之后呢,编写单元测试就显得比较麻烦了,因为绝大部分的类都交给了spring托管了,需要人为的去加载spring的配置文件等等,或者需要编码去从spring 哪里得到某个类的实例等。
1.1 整合SpringTest之前的单元测试编码
public class TestDemo { private static DBDao dbDao; private Object[] testData; @BeforeClass public static void setUpBeforeClass() throws NamingException { // Initialize Spring Context ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml"); dbDao= context.getBean(DBDao .class); } @AfterClass public static void tearDownAfterClass() {} @Before public void setUp() { //prepare test data here testData = {.........}; } @After public void tearDown() { } @Test public void testSave() { dbDao.save(testData) } }
使用SpringTest 整合JUnit
使用SpringTest整个JUnit,也是把Junit的框架整合到Spring容器中,交给spring来托管了,是代码更简洁,同时 SpringTest 也提供了许多组件的支持 比如 JDBC的测试, JNDI的测试,以及很多的Mock方法,足以满足J2EE的单元测试的需要了。准备Maven的依赖坐标
编写单元测试 需要 Junit 和SpringTest的jar包依赖,maven构建工具会自行解决依赖关系,所以 SpringTest 依赖的 SpringCore 会被自行导入。<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${project.dependency.org.junit}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${project.dependency.spring.core}</version> <scope>test</scope> </dependency>
创建测试类
与常规的测试类的区别在于,使用了注解RunWith(SpringJUnit4ClassRuner.class)来声明使用Spring的 TestRunner类,同时呢使用ContextConfiguration注解 来声明 需要加载的 配置文件的路劲,这样一来就可以不用自行编码去加载配置文件啦。同时我们还可以发现 测试依赖的类 也被打上注解@Autowired 实行自动装填。
整体的结构很简洁了。
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:spring-config-test.xml") public class TestDemo { @Autowired private DBDao dbDao; private Object[] testData; @BeforeClass public static void setUpBeforeClass() throws NamingException {} @AfterClass public static void tearDownAfterClass() {} @Before public void setUp() { //prepare test data here testData = {.........}; } @After public void tearDown() { } @Test public void testSave() { dbDao.save(testData) } }
相关文章推荐
- SpringFramework4系列之SpringTest:(二)MockJNDI
- 深入浅出Java Annotation(元注解和自定义注解)
- java jar文件打包成exe(Launch4j使用说明)
- 基于Java Web的图形化电网线损计算
- javac编译项目代码脚本片段
- RMI in Spring
- struts2传参到JSP
- Spring boot 学习笔记—带来的好处(二)
- 基于spring3.0.5 mvc 简单用户管理实例
- Java Web 编程实践学习笔记 一
- java nio实现服务器时遇到的问题
- Java线程池使用说明
- spring IoC和AOP的原理
- Spring init-method和destroy-method 的使用
- eclipse+pydev开发环境搭建
- Spring框架源码学习---DI的实现
- Java基础学习之final和多态及类型转换
- Java实现基于内容的数字图像处理代码
- Spring AOP之动态代理原理解析
- Spring boot 学习笔记 ---分分钟构建一个web程序(一)