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。
------君临天下,舍我其谁
------