社区
Java
帖子详情
如何对DAO类进行单元测试
kingswood
2006-11-06 10:15:47
单元测试是保证代码质量的重要环节,但如何对简单的DAO类进行单元测试呢?例如我有一个查询方法selectA(),如果针对这个方法编写单元测试代码,一定要在测试代码中先插入数据,然后调用selectA()后,通过比较结果是否相同来设置断言吗?还是有其他更好的方法,望高人指点。
...全文
565
5
打赏
收藏
如何对DAO类进行单元测试
单元测试是保证代码质量的重要环节,但如何对简单的DAO类进行单元测试呢?例如我有一个查询方法selectA(),如果针对这个方法编写单元测试代码,一定要在测试代码中先插入数据,然后调用selectA()后,通过比较结果是否相同来设置断言吗?还是有其他更好的方法,望高人指点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cydooo
2006-11-07
打赏
举报
回复
tcmis(难道你忘了吗?)
print出结果来的单元测试有用吗?
你总不可能跑单元测试的时候还要去对照print出来的跟数据库中的是否一致吧?
而且如果通过一个ant任务来跑所有的单元测试的时候,要是什么都没有查出来这里照样是一个green bar!
没有断言的单元测试可以说是无效的!
做DAO的单元测试比较麻烦,查出来的结果是期望的结果吗?如果其他DAO操作删了记录,添了记录或者修改了记录都有可能影响单元测试是否能通过。
我通常的做法都有清除脚本和测试数据的脚本,在DAO单元测试前将数据清掉把准备的数据插入数据库,然后测试。
洪泉
2006-11-07
打赏
举报
回复
个人觉得DAO比较少出错,但是也是可以想办法单元测试的吧!
kaoloveting
2006-11-07
打赏
举报
回复
学下,up
tcmis
2006-11-06
打赏
举报
回复
需要导入spring-mock.jar包,下面是我的测试代码。
package com.ems.test;
import java.util.Iterator;
import org.springframework.test.AbstractTransactionalDataSourceSpringContextTests;
import com.ems.database.hibernate3.pojo.ExamSubject;
import com.ems.hibernate.dao.IExamSubjectDAO;
public class lst extends AbstractTransactionalDataSourceSpringContextTests {
public void testclass() {
IExamSubjectDAO dao = (IExamSubjectDAO) applicationContext.getBean("examSubjectDAO");
Iterator d = dao.query("402881280e401952010e4020425d011e").iterator();
while (d.hasNext()){
ExamSubject examSubject = (ExamSubject) d.next();
System.out.println(examSubject.getSubject()+"----"+examSubject.getFkSetPaperTeacher());
}
}
protected String[] getConfigLocations() {
String[] config = new String[] { "applicationContext.xml" };
return config;
}
}
把applicationContext.xml文件拷贝到src目录下。
King_liubin
2006-11-06
打赏
举报
回复
看看Junit in Action 吧,上面有对数据库进行单元测试的详细介绍
Junit4
单元测试
本文详细介绍JUnit4
单元测试
的概念、优势及在IDEA中的应用。涵盖
单元测试
基础、JUnit4配置、测试
类
编写,包括
Dao
、Service和Controller
类
的测试实例。
MyBatis 传统
DAO
方式的开发整合
博客介绍了Customer
类
相关代码演示,包含Customer
类
、CustomerMapper.xml、Customer
Dao
类
等,还说明了在applicationContext.xml核心配置文件中实例化
Dao
,在mybatis-config.xml中指定Mapper位置,最后
进行
单元测试
并展示两种方法的运行结果。
embedded-postgres写
单元测试
文章介绍了如何使用In-MemoryDB,特别是embedded-postgres,来创建
单元测试
环境,对包含数据库操作的
DAO
类
进行
测试。通过在测试开始时启动内存数据库,准备测试数据,确保测试独立且不影响生产环境。示例代码展示了如何配置maven依赖,以及如何使用JUnit5和Flyway
进行
数据库初始化和测试执行。
24分钟学会用JMock
进行
单元测试
本文介绍了如何使用JMock解决复杂
类
的
单元测试
问题,通过模拟不需要测试的
类
,实现无需配置特定环境即可完成测试的目标。示例中展示了通过JMock模拟
Dao
类
,从而在没有数据库的情况下测试Business
类
。
[原创]24分钟学会用JMock
进行
单元测试
本文介绍了使用JMock
进行
Java
单元测试
的方法。以
Dao
和Business
类
为例,展示了在不配置数据库环境下,通过JMock完成Business
类
单元测试
的过程。还说明了导入相关jar包、使用JMock模拟
类
的条件,以及Mock
类
的部分API,建议养成针对接口编程的习惯。
Java
51,409
社区成员
86,087
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章