DBUnit核心組件
IDatabaseConnection
dbUnit持有的對數據庫的連接。基于jdbc的,以及基于datasource的都有。
IDataSet:表的集合。
FlatXmlDataSet:每個XML元素是對應者一個表行。元素的名字就是表的名字。XML的屬性就對應表的列名。如果需要指定為null值,只需要省略對應的屬性就可以。也就是說,在XML文件中,第一行最好把所有的值都設置好了。要不然會有麻煩。(在使用過程當中并沒有出現這樣的情況。)
DatabaseDataSet:將整個數據庫作為一個DataSet。
QueryDataSet:將數據庫的查詢結果作為一個DataSet。
DefaultDataSet:用于編程目的。
XlsDataSet:讀寫EXCEL文件,根據這個文件的內容來構建DataSet。
ReplacementDataSet:Decorator類,可以用一些屬性來替換DataSet中的值。
DatabaseOperation
代表在每個testcase開始之前以及結束之后,執行的數據庫操作。
DatabaseOperation.UPDATE:更新數據庫。就是利用DataSet中的值去更新數據庫,當然是假設原來的數據庫中已經存在那些值,要不然會報錯的。
DatabaseOperation.INSERT:插入數據庫。那么需要保證你插入的時候,數據庫之間的外健關聯關系,因此,表插入的順序要正確。如果外健關聯是程序維護的話,那么就不會有這個問題。MYSQL不會有這個問題。
DatabaseOperation.DELETE:刪除。只刪除那些在Dataset中的記錄。
DatabaseOperation.DELETE_ALL:刪除在DataSet中出現的所有的表。
DatabaseOperation.TRUNCATE:截斷在DataSet中出現的表。是按照DataSet中表出現的相反順序進行截斷的。
DatabaseOperation.REFRESH:把DataSet中的內容刷新到數據庫中。DataSet中在數據庫中存在的會被刷新,在數據庫中不存在的,會被插入。
DatabaseOperation.CLEAN_INSERT:先執行DELETE_ALL,然后執行INSERT。清空,然后重新裝入數據庫。
DatabaseOperation.NONE:什么也不做。
TransactionOperation:Operation的decorator類,在Transaction中執行這些操作。
IdentityInsertOperation:也是decorator類,是用于專門處理MS SQLSERVER中的ID自動生成的問題。IDENTITY。
------君臨天下,舍我其誰
------