基于DbUnit的測(cè)試的主要接口是IDataSet。IDataSet代表一個(gè)或多個(gè)表的數(shù)據(jù)。
可以將數(shù)據(jù)庫模式的全部內(nèi)容表示為單個(gè)IDataSet實(shí)例。這些表本身由Itable實(shí)例來表示。
IDataSet的實(shí)現(xiàn)有很多,每一個(gè)都對(duì)應(yīng)一個(gè)不同的數(shù)據(jù)源或加載機(jī)制。常用的幾種IDataSet實(shí)現(xiàn)為:
FlatXmlDataSet:數(shù)據(jù)的簡單平面文件XML表示
QueryDataSet:用SQL查詢獲得的數(shù)據(jù)
DatabaseDataSet:數(shù)據(jù)庫表本身內(nèi)容的一種表示
XlsDataSet:數(shù)據(jù)的excel表示
一般而言,使用DbUnit進(jìn)行單元測(cè)試的流程如下:
1根據(jù)業(yè)務(wù),做好測(cè)試用的準(zhǔn)備數(shù)據(jù)和預(yù)想結(jié)果數(shù)據(jù),通常準(zhǔn)備成xml格式文件。
2在setUp()方法里邊備份數(shù)據(jù)庫中的關(guān)聯(lián)表。
3在setUp()方法里邊讀入準(zhǔn)備數(shù)據(jù)。
4對(duì)測(cè)試類的對(duì)應(yīng)測(cè)試方法進(jìn)行實(shí)裝:執(zhí)行對(duì)象方法,把數(shù)據(jù)庫的實(shí)際執(zhí)行結(jié)果和預(yù)想結(jié)果進(jìn)行比較。
5在tearDown()方法里邊,把數(shù)據(jù)庫還原到測(cè)試前狀態(tài)。
以上內(nèi)容引用:http://blog.csdn.net/yuezu1026/article/details/4055923
感覺講的非常通俗易懂。
示例 :
在 開始之前需要下載 dbunit-2.4.7.jar,slf4j-log4j12-1.7.2,log4j-1.2.17,slf4j-api-1.7.2.jar,mysql-connector-java-5.1.17-bin.jar,testng.jar六個(gè)jar包,這是我示例中用到的。