Spring与junit测试

标签: spring junit 测试 | 发表时间:2014-09-22 07:22 | 作者:u011662320
出处:http://blog.csdn.net

1.我们知道无论在J2SE还是android中都有junit测试,利用junit能够帮助方便测试代码。在之前的博客中我也写了一些J2SE的一些junit测试例子,今天对于Spring中junit小小的讨论一下。

这个Spring测试需要的jar包:

     spring-test-3.2.0.RELEASE.jar

2.Spring和Junit的关系图


左边的采用传统的方式,即一般的J2SE的方式测试代码,这种情况会有些问题:

(1).每一个测试都要启动Spring,

(2).这种情况下,是测试代码管理Spring容器,而与Spring容器管理测试代码想背了。

或许还有其他的情况,因此应该采用右边的方式进行junit测试,同时也正验证了Spring框架图,为啥Test在最下面


3.简单的案例:

package cn.wwh.www.spring.bbb.test;

/**
 *类的作用:
 *
 *
 *@author 一叶扁舟
 *@version 1.0
 *@创建时间: 2014-9-21   下午03:22:26
 */
public class HelloWorld {
	public  void show() {
		System.out.println("Hello World! This is my first Spring!");

	}
}



测试案例:

package cn.wwh.www.spring.bbb.test;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/**
 *类的作用:测试在Spring中写测试框架
 *
 *
 *@author 一叶扁舟
 *@version 1.0
 *@创建时间: 2014-9-21   下午10:19:41
 */
//表示先启动Spring容器,把junit运行在Spring容器中
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class SpringtestTest {
	
	
	//自动装配Spring容器
	@Autowired
	private BeanFactory factory;

	@Test
	public void testBeanFactory() throws Exception {
		 HelloWorld  world = factory.getBean("helloWorld",HelloWorld.class);
		 world.show();
		
	}
}


SpringtestTest-context.xml配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans.xsd">
	<bean id="helloWorld" class="cn.wwh.www.spring.bbb.test.HelloWorld"/>
	
</beans>

注意:

(1).@RunWith(SpringJUnit4ClassRunner.class)

     @ContextConfiguration

     @Autowired

     @Test

     这些都是测试标签

(2).@ContextConfiguration去找配置文件,默认从当前路径去找

如果置文件名= 当前测试类名-context.xml,就可以在当前路径找.可以省略如上面的SpringtestTest-context.xml,测试类为:SpringtestTest.java

如果不是按照约定写的,测需要按照加载路径的格式写:

@ContextConfiguration("classpath:cn/wwh/www/spring/bbb/test/SpringtestTest-context.xml")





作者:u011662320 发表于2014-9-21 23:22:32 原文链接
阅读:98 评论:0 查看评论

相关 [spring junit 测试] 推荐:

Spring与junit测试

- - CSDN博客Web前端推荐文章
1.我们知道无论在J2SE还是android中都有junit测试,利用junit能够帮助方便测试代码. 在之前的博客中我也写了一些J2SE的一些junit测试例子,今天对于Spring中junit小小的讨论一下. 这个Spring测试需要的jar包:. 2.Spring和Junit的关系图. 左边的采用传统的方式,即一般的J2SE的方式测试代码,这种情况会有些问题:.

利用JUnit和Spring-test对SpringJDBC组件DAO层测试

- - ITeye博客
借着学习Druid连接池的机会,使用的Spring,将知识点联系起来,简单写了一个利用JUnit和Spring-test对SpringJDBC组件DAO层测试的Demo,分类归在Spring中吧. SpringJDBC组件是Spring提供的一个对底层JDBC的封装,扩展了更多更方便的接口,方便我们对数据库的操作.

项目中单元测试容易出现的普遍问题归纳(Junit/Spring/Spring-test/Dubbo/RocketMQ/JAVA)

- - 编程语言 - ITeye博客
   最近公司要求项目在使用maven构建的时候不能跳过test的生命周期,也就是通过mvn test命令需要将整个项目运行起来. 因为之前项目组的成员都是在eclipse中去执行的unit test,在maven对所有模块构建的都是直接-Dmaven.test.skip=true的方式直接跳过UT的.

Java 单元测试利器之 Junit

- - 博客园_首页
          因为工作和学习的需要,在代码中查错的时候,第一步就是想知道这个错误具体发生在一个位置,进行一个准确的定位. 而这个定位的工作交给谁来做了呢. 不难猜出也就是这篇博客的主题---Junit. junit是一个开源的框架,也是java这一块的测试工具之一. 想了解详细请上官网,下面用代码来跟大家解释.

JUnit学习总结——断言

- - Taobao QA Team
JUnit是Java语言的测试框架,用于编写和运行可重复的测试. 为了便于确定某些被测试函数是否工作正常,JUnit提供了一些辅助函数,这些函数统称为断言. 最近学习JUnit,特将全部JUnit断言整理了一下,方便自己回顾也算是为以后的新人提供一些参考. assertTrue验证condition是否为true.

Spring中DAO层接口的单元测试

- - 研发管理 - ITeye博客
单元测试在软件开发流程中有着举足轻重的作用,良好的单元测试的作用跟重要性不需多言. 基本上所有的java应用都会跟数据库打交道,DAO层接口的测试涉及到数据库测试数据的准备、维护、验证及清理. 单元测试应该要具有可重复性、独立性,所以单元测试的数据不应该污染数据库. 很多人在DAO层接口的单元测试中数据是自己手工插入的,第二次运行这个单测的时候就会得到duplicate key的错误,数据清理的过程中也是手工进行的,或者是通过try-catch-finally块进行清理,这自然是比较难以实现自动化测试的.

利用h2database和easymock轻松不依赖环境单元测试(rose等spring环境万能)

- - 五四陈科学院-坚信科学,分享技术
以下内容由 [五四陈科学院]提供. 写java时间久了,慢慢就变得自信了,也可能是变得懒了,或者是项目进度的原因,test case越写越少,越来越不写了. 还有一个很大的原因是,DB环境不好搞,老是有垃圾数据,依赖的东西太多,有memcache、有别人的服务,等等等等,都是没有test case良好的理由.

Spring详解

- - CSDN博客架构设计推荐文章
Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架.它的主要目的是简化企业开发.. PersonDaoBean 是在应用内部创建及维护的. 所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的.

Spring定时

- - 行业应用 - ITeye博客
spring的定时任务配置分为三个步骤:. . . . . .

简单Spring+hessian

- - Web前端 - ITeye博客
简单的Spring+hessian. dist\modules里面的 spring-webmvc.jar . lib\caucho 里面的hessian-3.1.3.jar. 里面有个接口interface:. 建立一个model层:(实现Serializable接口). 在WEB-INF下面创建一个remoting-servlet.xml:.