Spring-Junit4

 
  Spring整合Junit4测试Service

1. 加入依赖包

  使用Spring的测试框架需要加入以下依赖包:

2. 创建测试源目录和包

  在此,推荐创建一个和src平级的源文件目录,因为src内的类都是为日后产品准备的,而此处的类仅仅用于测试。而包的名称可以和src中的目录同名,这样由于在test源目录中,所以不会有冲突,而且名称又一模一样,更方便检索。

3. 创建测试类

  创建一个测试用的类,推荐名称为 “被测试类名称 + Test”。

  测试类应该继承与

   AbstractJUnit4SpringContextTests

  或

  AbstractTransactionalJUnit4SpringContextTests

  对于 AbstractJUnit4springcontextTests 和 AbstractTransactionalJUnit4SpringContextTests 类的选择:

  如果再你的测试类中,需要用到事务管理(比如要在测试结果出来之后回滚测试内容),就可以使用AbstractTransactionalJUnit4SpringTests类。 事务管理的使用方法和正常使用Spring事务管理是一样的。

  如果想要使用声明式事务管理,即使用 AbstractTransactionalJUnitSpringContextTests类,

  请在applicationContext.xml文件 中加入transactionManager bean:

<bean id="transactionManager"    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    <property name="dataSource" ref="dataSource" /></bean>

  如果没有添加上述bean,将会抛出NoSuchBeanDefinitionException,指明 No bean named ‘transactionManager‘ is definded.

4. 配置测试类

  添加如下内容在class前,用于配置applicationContext.xml文件的位置。

@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = "classpath:applicationContext.xml")

5. 创建测试方法

  创建测试用方法,推荐名称为 “被测方法名称+ Test”。

  测试方法上方加入 @Test

6. 通过JUnit 4 执行

  右键方法名,选择则“Run As”→“JUnit Test”即可

附录1:整体测试类文件

/* @(#) UserDaoTest.java *  * Date: 2012-1-16 * * Author: Rainisic */package com.mb.dao;

import javax.annotation.Resource;

import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.mb.entity.User;

/** * @author Rainisic * */@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = "classpath:applicationContext.xml")public class UserDaoTest extends AbstractJUnit4SpringContextTests {

    @Resource    private UserDaoInterface userDao;

    @Test    public void saveTest() {

        User user1 = new User();        user1.setUsername("rainisic");        user1.setPassword("123456");        user1.setNickName("rainisic");        user1.setEmail("[email protected]");

        User user2 = new User();        user2.setUsername("admin");        user2.setPassword("123456");        user2.setNickName("admin");        user2.setEmail("[email protected]");

        User user3 = new User();        user3.setUsername("test");        user3.setPassword("123456");        user3.setNickName("test");        user3.setEmail("[email protected]");

        userDao.save(user1);        userDao.save(user2);        userDao.save(user3);    }}

  OK,到此为止就可以使用Spring的测试框架了。

 

 
时间: 2024-08-25 04:05:56

Spring-Junit4的相关文章

Spring Junit4 Test

捣鼓了差不多一天...终于把"No Session found for current thread"问题解决了 环境:Spring 4.0.6 RELEASE + Hibernate 4.2.2 Final 折腾记录如下: 1. 出现"No Session found for current thread",查找配置文件中的sessionFactory配置,确认无误: 2. 检查写的测试用例,并尝试修改注解:@Transactional和@TransactionC

spring junit4 测试

@Service @ContextConfiguration(locations = { "classpath:config/applicationContext.xml" }) @RunWith(SpringJUnit4ClassRunner.class) @TransactionConfiguration(transactionManager="transactionManager", defaultRollback=false) public class Un

easymock+junit+spring学习&#183;

Easymock学习                                Author:luojie 1.       Easymock简介 EasyMock 是一套通过简单的方法对于指定的接口或类生成 Mock 对象的类库,它能利用对接口或类的模拟来辅助单元测试. 用于白盒测试,与预期结果不同,才去分析代码. 2.       Easymock + junit 单元测试 EasyMock采用"记录-----回放"的工作模式,基本使用步骤: *         创建Mock对

maven spring3.2.5

出现的情形: 开发环境: spring3.2.5 + springmvc +spirngDATA +maven 一. 偶然的spring Junit4测试 加载applicationContext.xml提示parse Xml....error 原因 java.lang.NoClassDefFoundError:  org.springframework.core.type.StandardAnnotationMetadata java.lang.ClassNotFoundException  

spring测试父类,使用junit-4.4.jar,spring-test.jar

@ContextConfiguration(locations = "classpath:conf/applicationContext.xml") @RunWith(SpringJUnit4ClassRunner.class) @Transactional @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true) public abstr

Spring整合Junit4

1.加入相应依赖包 junit4-4.7.jar 以及spring相关jar包 2.在测试代码的源码包中如 src/test/java 新建一个抽象类如下 1 import org.junit.runner.RunWith; 2 import org.springframework.test.context.ContextConfiguration; 3 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

JAVAWEB开发之Spring详解之——Spring的入门以及IOC容器装配Bean(xml和注解的方式)、Spring整合web开发、整合Junit4测试

Spring框架学习路线 Spring的IOC Spring的AOP,AspectJ Spring的事务管理,三大框架的整合 Spring框架概述 什么是Spring? Spring是分层的JavaSE/EE full-stack(一站式)轻量级开源框架. 所谓分层: SUN提供的EE的三层结构:web层.业务层.数据访问层(也称持久层,集成层). Struts2是web层基于MVC设计模式框架. Hibernate是持久的一个ORM的框架. 所谓一站式:Spring框架有对三层的每层解决方案.

web项目中 集合Spring&amp;使用junit4测试Spring

web项目中 集合Spring 问题: 如果将 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); HelloService helloService = (HelloService) applicationContext.getBean("helloService"); helloService.sayHello(

spring学习总结(mybatis,事务,测试JUnit4,日志log4j&amp;slf4j,定时任务quartz&amp;spring-task,jetty,Restful-jersey等)

在实战中学习,模仿博客园的部分功能.包括用户的注册,登陆:发表新随笔,阅读随笔:发表评论,以及定时任务等.Entity层设计3张表,分别为user表(用户),essay表(随笔)以及comment表(评论).表结构如下: 项目开发采用Intellij IDEA + maven,整个项目结构如下如下图所示: 在项目的pom.xml文件中,导入项目需要的依赖.pom.xml内容如下所示: 1 <project xmlns="http://maven.apache.org/POM/4.0.0&q

junit4 spring集成测试

很多时候我看见小伙伴这样测试spring的service或者dao,每个类后面写个main,使用new方式加载spring配置文件,获取需要测试的实例,然后对实例进行测试.稍微好一点的在junit测试类里面new加载spring配置文件进行测试. 其实junit测试spring可以很方便的进行.这里会用到spring-test-xxx.jar,junit4的jar. 其中要注意的是: @RunWith(SpringJUnit4ClassRunner.class) 1.如果spring配置文件ap