DBUnit是不是不能脱离数据库?

lisl2003 2009-10-19 10:46:07
两个问题:
1.DBUnit在使用时,能完全抛开数据库吗?
2.对DAO层的测试能脱离数据库吗?有什么方法或柜架?
...全文
205 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
villagehead 2009-10-20
  • 打赏
  • 举报
回复
dbunit是需要数据库的,但是不需要数据。
以前我们的项目,是做成xml,
运行前,把输入数据和预想数据都做成xml文件,
运行测试的时候,dbunit把输入数据灌到数据库,然后运行程序,得到输出的数据,
然后在和预想的输出数据进行对比。
运行完了,dbunit就把数据库rollback了。

因为是封装好了的环境,我也没拿到代码,只是有个大致的逻辑是这样。

lz参考一下吧

good luck
swandragon 2009-10-19
  • 打赏
  • 举报
回复
不自动提交更新
con.setAutoCommit(false);
  • 打赏
  • 举报
回复
还是加个事务,让测试数据操作之后回滚不改变数据库就好了。
APOLLO_TS 2009-10-19
  • 打赏
  • 举报
回复
你测试逻辑方法不用连接数据库就不用直接使用DAO测试了。你何必鸡蛋碰石头呢!
lisl2003 2009-10-19
  • 打赏
  • 举报
回复
上头希望对dao层进行测试,我粗略地看了一下DBUNIT,发现它需要连接数据库,我希望找一个能够完全脱离数据库的测试方法,不知有没有?
老紫竹 2009-10-19
  • 打赏
  • 举报
回复
只要是面向接口编程,就可以脱离具体的类。

jdbc也是接口,但你想自己实现一个jdbc吗?
数据库这一层测试,我看还是免了吧,最好把业务逻辑层->DAO层做抽象就行了。

也就是另外写一个DAO实现业务需要的接口,然后DAO里不用数据库就行了。
老张-AI 2009-10-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zk_2000 的回复:]
还是加个事务,让测试数据操作之后回滚不改变数据库就好了。
[/Quote]

可行

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧