基于DbUnit的測試的主要接口是IDataSet。IDataSet代表一個或多個表的數(shù)據(jù)。
可以將數(shù)據(jù)庫模式的全部內(nèi)容表示為單個IDataSet實例。這些表本身由Itable實例來表示。
IDataSet的實現(xiàn)有很多,每一個都對應(yīng)一個不同的數(shù)據(jù)源或加載機制。常用的幾種IDataSet實現(xiàn)為:
FlatXmlDataSet:數(shù)據(jù)的簡單平面文件XML表示
QueryDataSet:用SQL查詢獲得的數(shù)據(jù)
DatabaseDataSet:數(shù)據(jù)庫表本身內(nèi)容的一種表示
XlsDataSet:數(shù)據(jù)的excel表示
一般而言,使用DbUnit進行單元測試的流程如下:
1根據(jù)業(yè)務(wù),做好測試用的準(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對測試類的對應(yīng)測試方法進行實裝:執(zhí)行對象方法,把數(shù)據(jù)庫的實際執(zhí)行結(jié)果和預(yù)想結(jié)果進行比較。
5在tearDown()方法里邊,把數(shù)據(jù)庫還原到測試前狀態(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六個jar包,這是我示例中用到的。