DBUnit的原理

来源:互联网 发布:杰克棋牌透视软件 编辑:程序博客网 时间:2024/04/30 21:17
dbunit是一个基于junit扩展的数据库测试框架。它提供了大量的类对与数据库相关的操作进行了抽象和封装,虽然在80%的情况,你只需使用它极少的api。它通过使用用户自定义的数据集以及相关操作使数据库处于一种可知的状态,从而使得测试自动化、可重复和相对独立。 

这个所谓“可知的状态”,让人看上去是有点晕的,其实他的意思就是:当前数据库里的数据是已知的。比如,在运行每一个单元测试用例之前,数据库里的数据是已知的,这样,就可以让基于数据库的单元测试用例自动化。

理论方面的文章都这个毛病,简单的东西写的让人看不懂;不过,也有他的好处,就是这种对概念的自定义可以让写文章者更好的阐述他的思想。

言归正传,dbunit是如何做到让数据库状态可知的思路如下:
1. 事先把数据库里的数据以XML的格式导出来。
2. 
运行每一个测试之前先把当前数据库里的数据清空。
3. 
XML里的数据再导进数据库。
4. 
数据库回到了可知的状态。

  --
如此,可确保每一次测试运行都是基于同样的数据库状态。
  --
首先了解这个框架的原理,应用起来我们就有了方向。

备注:DBUnit支持的数据库包括,db2,h2,hsqldb,mckoi,mssql,mysql,netezza,oralce,postgresql.
原创粉丝点击