官方使用指南:http://dbunit.sourceforge.net/howto.html
参考资料:https://www.cnblogs.com/wade-xu/p/4547381.html
介绍
DBunit 是一种扩展于JUnit的数据库驱动测试框架,它使数据库在测试过程之间处于一种已知状态,如果一个测试用例对数据库造成了破坏性影响,它可以帮助避免造成后面的测试失败或者给出错误结果。
DbUnit has the ability to export and import your database data to and from XML datasets. Since version 2.0,DbUnit can also work with very large datasets when used in streaming mode. DbUnit can also help you to verify that your database data match an expected set of values.
DBunit通过维护真实数据库与数据集(IDataSet)之间的关系来发现与暴露测试过程中的问题。IDataSet代表一个或多个表的数据。此处IDataSet可以自建,可以由数据库导出,并以多种方式体现,xml文件、XLS文件和数据库查询数据等。
基于DBUnit的测试的主要接口是IDataSet,可以将数据库模式的全部内容表示为单个IDataSet实例。这些表本身由Itable实例来表示。
IDataSet的实现有很多,每一个都对应一个不同的数据源或加载机制。最常用的几种IDataSet实现为:
FlatXmlDataSet:数据的简单平面文件XML表示
QueryDataSet:用SQL查询获得的数据
DatabaseDataSet:数据库表本身内容的一种表示
XlsDataSet:数据的excel表示
测试流程大概是这样的,建立数据库连接-> 备份表 -> 调用Dao层接口-> 从数据库取实际结果-> 事先准备的期望结果->断言 -> 回滚数据库 -> 关闭数据库连接
1、添加maven依赖
<dependency> <groupId>org.dbunit</groupId> <artifactId>dbunit</artifactId> <version>2.5.4</version> <scope>test</scope> </dependency>
2、创建测试类
通常一个测试类对应程序中的一个类,这些测试类为了重用一些公用的方法,可以创建一个基类,如下: