使用Unitils测试DAO层】的更多相关文章

Spring 的测试框架为我们提供一个强大的测试环境,解决日常单元测试中遇到的大部分测试难题:如运行多个测试用例和测试方法时,Spring上下文只需创建一次:数据库现场不受破坏:方便手工指定Spring配置文件.手工设定Spring容器是否需要重新加载等.但也存在不足的地方,基本上所有的Java应用都涉及数据库,带数据库应用系统的测试难点在于数据库测试数据的准备.维护.验证及清理.Spring 测试框架并不能很好地解决所有问题.要解决这些问题,必须整合多方资源,如DbUnit.Unitils.M…
应该测试 DAO 层吗? 网上有很多人讨论单元测试是否应该包含 DAO 层的测试.笔者觉得,对于一些主要是crud的业务来说,service层和controller层都会非常薄,而主要的逻辑都落在mapper上.这时候对service层和controller层写单测没有太多意义.可以只写mapper层的单测. 另一方面,mapper层的测试可以有效地避免一些低级的sql错误. 定义单测 单元测试是只针对一个单元的测试,比如说,一个 Service 类的一个每个公共函数.而这个函数所有调用了外部依…
资源准备:   mysql5.0 spring-2.5  hibernate-3.2  junit-4.jar 创建表 DROP TABLE IF EXISTS `myproject`.`boys`; CREATE TABLE `myproject`.`boys` ( `id` ) NOT NULL auto_increment, `phone` ) default NULL, `sex` ) default NULL, `address` ) default NULL, PRIMARY KEY…
DAO层测试难点 可重复性,每次运行单元测试,得到的数据是重复的 独立性,测试数据与实际数据相互独立 数据库中脏数据预处理 不能给数据库中数据带来变化 DAO层测试方法 使用内存数据库,如H2.优点:无需清空无关数据:缺点:单元测试中需要进行数据库初始化过程,如果初始化过程复杂,单元测试工作量增大 使用dbunit.优点:数据库初始化简单,大大减轻单元测试工作量:缺点:目前官方提供jar包只支持xml格式文件,需要自己开发Excel格式文件 基于dbunit进行DAO单元测试 应用环境:Spri…
DAO层测试难点 可重复性,每次运行单元测试,得到的数据是重复的 独立性,测试数据与实际数据相互独立 数据库中脏数据预处理 不能给数据库中数据带来变化 DAO层测试方法 使用内存数据库,如H2.优点:无需清空无关数据:缺点:单元测试中需要进行数据库初始化过程,如果初始化过程复杂,单元测试工作量增大 使用dbunit.优点:数据库初始化简单,大大减轻单元测试工作量:缺点:目前官方提供jar包只支持xml格式文件,需要自己开发Excel格式文件 基于dbunit进行DAO单元测试 应用环境:Spri…
DAO层的设计: 在实际的开发中有一种项目的程序组织架构方案叫做MVC模式. MVC模式就是按照程序的功能将它们分成三层,分别是Modle层 (模型层).View(显示层).Controller(控制层). Modle层:Modle层又可以细分为两层,分别是dao层.service层. 这两层的主要功能如下: service层:主要负责一些业务处理,比如取得连接.关闭数据库连接.事 务回滚或者一些复杂的逻辑业务处理放到 service . dao层:负责访问数据库进行数据的操作,取得结果集,之后…
接着上一篇,上一篇我们创建了项目.创建了实体类,以及创建了数据库数据.这一篇就写一下Dao层,以及对Dao层进行单元测试,看下能否成功操作数据库数据. Dao EmpDao package com.jotal.springboot08restfulcrud.dao; //将类扫描进spring ioc容器中 @Mapper public interface EmpDao { // 得到所有员工 List<Employee> getAllEmp(); // 根据id得到员工 Employee g…
前面的系列mybatis 文章,已经基本讲到了mybatis的操作,但都是基于mapper隐射操作的,在mybatis 3中这个mapper 接口貌似充当了以前在ibatis 2中的 DAO 层的作用.但事实上,如果有这个mapper接口不能完成的工作,或者需要更复杂的扩展的时候,你就需要自己的DAO 层. 事实上 mybatis 3 也是支持DAO 层设计的,类似于ibatis 2 .下面介绍下.在此之前,请下载 上一篇文章提供的代码:http://www.yihaomen.com/artic…
<Spring 3.0就这么简单>.(陈雄华,林开雄)第8章,对如何用Unitils进行测试简单介绍,下面是我用Unitils进行单元测试过程中遇到的问题的总结. 1.设置好pom.xml依赖后,pom文件报错:Missing artifact javax.transaction:jta:jar:1.0.1B 原因是本地maven库中缺少jta-1_0_1B-classes这个jar,需要把这个jar安装到本地库中去.下载包含此jar的zip包,地址:http://download.csdn.…
上午写了一个简单的 从xml读取信息实例化一个Bean对象.下午就开始想mybatis是怎么通过xml文件来实现dao层接口的,一开始想直接用Class.forName(String name)然后调用getMethods的办法来得到Dao接口所有的方法Method,结果证明这对接口实没有用的,会报一个错误.于是想百度,但是百度的结果全是怎么配置mapper的..然后我又四处翻资料,终于找到一些办法.最后我还是用到了我自己封装的DButil 和 DataUtil两个类. 反正我是这么实现的,至于…