<转>Spring Test 整合 JUnit 4 使用总结-程序员宅基地

技术标签: java  

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”即可

7.整体测试类文件

/* @(#) 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);
    }
}

 

转载于:https://www.cnblogs.com/Akishimo/archive/2013/01/01/2841542.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baiyong7185/article/details/102052349

智能推荐

使用微软官方工具制作U盘系统重装盘_用微软官网制作的系统u盘是guid-程序员宅基地

准备工作官方给出的要求是需要一个至少 8GB 空间的空白U 盘或空白 DVD,这边使用U盘即可这边使用的金士顿U盘给它格式化了一次,记得格式化成FAT32格式的微软官网下载制作工具:点我进入点击立即下载工具1:推荐下载到自己能找到的目录,比如桌面2:下载完后右击选择以管理员方式运行3:点击接受微软协议进入下一步4:选择:为另一台电脑创建安装介质(U盘)当然你..._用微软官网制作的系统u盘是guid

android 解析apk包名,PC上查看/解析APK包名_钟聚湃的博客-程序员宅基地

E:\apktools>aapt d badging jj.apk | grep 'package:'package: name='com.roguerocketgames.m3s' versionCode='6' versionName='0.7.3'appt还有更多的功能,对apk的解析非常容易,可以查看它帮助Android Asset Packaging ToolUsage:aapt ..._解析apk的包名

foxmail总是删除服务器已接收文件,如何设置FOXMAIL收到邮件后,服务器上邮件自动删除...-程序员宅基地

如今的Foxmail 6可以帮我们定期清理垃圾邮件:单击菜单“工具/反垃圾邮件功能设置”,在打开的窗口中切换到“贝叶斯过滤”标签,勾选“自动删除垃圾邮件箱中以下天数之前的旧邮件”,并在下面设置好天数(如图1)。以后清除垃圾邮件就由Foxmail替你代劳吧。DreamMail单击菜单的“工具/选项”命令,在打开的窗口中再单击“常规选项”下的“自动删除”项,勾选“自动删除以下邮件夹列表中超过多少天的邮..._foxmail收取后删除服务器邮件

经济地理学复习要点总结(完整)-程序员宅基地

经济地理学经济地理学是研究经济活动区位、空间组织及其与地理环境的相互关系的学科。区位是人类活动(人类行为)所占有的场所。区位条件是区位(场所)所特有的属性或资质区位因子(区位因素)指影响区位主体分部的原因1.区位因子与区位条件的区别(1)区位条件是相对于区位而言,由于场所不同而导致的生产条件不同(2)区位因子则是对于生产者(区位主体)而言,由于场所不同表现出其生产费用或利益的差异。 2.要素投入对经济活动区位的影响生产要素:指进行社会生产活动的基本元素。一.)土地因子对经济活动区位的影响土地作为经济活

下载Eclipse、下载Java各个版本,来这里就对了-程序员宅基地

Eclipse官网:http://www.eclipse.org/  不信你去看看Java官网:https://www.java.com/  不信你去看看可惜是,每次进入官网提示都是下面这样的:来,我们来玩最新的,可这不是我想要的呀好了,不卖关子,直接上链接:Eclipse下载各版本地址:https://www.eclipse.org/downloads/packages/...

Ubuntu20.04+1080Ti通过docker进行NVIDIA GPU环境搭建_ubuntu20.04 可以通过运行基本 cuda 容器来测试工作_东洋 Dongyang的博客-程序员宅基地

Ubuntu20.04+1080Ti通过docker进行NVIDIA GPU环境搭建_ubuntu20.04 可以通过运行基本 cuda 容器来测试工作

随便推点

主题:C/C++编译器的选用 _www.949-程序员宅基地

特别说明:鉴于时不时的有人问关于用什么编译器的问题,我翻译了Bjarne Stroustrup主页上compilers栏目的一篇文章,希望对大家有点指导意义。这个翻译稿的粘贴过程中失去了所有超级连接(pfan提供的编辑功能不够好),我只好另外在旁边附加上,抱歉。另外,为了避免重复发贴,我把本站sarrow原来的相关文章也复制过来,供彷徨中的朋友参考。一个C++编译器的不完全列表 _www.949

JSP 问号-程序员宅基地

进入a.jsp 这样当你点这个连接就会转到a.jsp页面,但也传了一个name的值你可以这样得到它,在a.jsp里写入 就得到123了

前端使用cypress自动化测试_cypress 有头运行-程序员宅基地

前言cypress官网解放劳动密集型工作,拥抱智力密集型工作,用代码测试代码,测试驱动开发,做一名会偷懒的工程师。使用cypress测试框架,配置简单,上手容易,界面友好,支持录屏,时间碎片,一键执行。安装安装这一块是最麻烦的,有可能安装过程中会被墙。npm install cypress --save-devyarn add cypress --dev如果以上过程很慢,可以在官网下载安装包:cypress下载运行1、如果是本地下载完成后:解压.._cypress 有头运行

Redis-基数统计算法-HyperLogLog_redis计算平均分_九夏_的博客-程序员宅基地

目录为什么要使用 HyperLogLog?HyperLogLog 介绍HLL 算法原理(了解)为什么要使用 HyperLogLog?在我们实际开发的过程中,可能会遇到这样一个问题,当我们需要统计一个大型网站的独立访问次数时,该用什么的类型来统计?如果我们使用 Redis 中的集合来统计,当它每天有数千万级别的访问时,将会是一个巨大的问题。因为这些访问量不能被清空,我们运营人员可能会随时查看这些信息,那么随着时间的推移,这些统计数据所占用的空间会越来越大,逐渐超出我们能承载最大空间。例如,我们用 IP_redis计算平均分

java项目源码分享——适合新手练手的java项目-程序员宅基地

源码下载(实例一):jsp开发完整的博研图书馆后台管理系统,不使用框架开发的,太完美了源码下载(实例二):javaWeb图书馆管理系统源码mysql版本源码下载(实例三)GitHub - uboger/LibraryManager: JAVA GUI 图书馆管理系统源码下载(实例四):java swing开发企业人事管理系统源代码下载源码下载(实例一):java swing开发网...

推荐文章

热门文章

相关标签