使用DBUnit测试存储过程
这两天通过对DBUnit的扩展,使得DBUnit可以进行存储过程的单元测试了。扩充了一些功能,原有的DBUnit虽然功能比较多,但是对于测试数据库应用还有一些不便之处。首先作了以下的扩充:
1. 增加存储过程调用的通用方法。
2. 增加前置条件的Excel数据读取功能。其中对于需要比较的字段使用黄色背景色自动识别。
3. 对前置条件中的数据先执行预删除,然后执行插入操作
4. 封装了实际后置条件和预期后置条件的比较,根据xml获取预期后置条件,根据语句获得实际后置条件
5. 增加了Connection的单例方式的实现,执行测试后回滚。
6. 增加对Oracle同义词的DBMetaData的获取,可以获取同义词所对应的字段类型。
期待增加的功能:
1. 对多表的前置条件进行更多封装,使操作前置条件更简单
2. 扩充DBTestCase的Assertion,支持更多的判断条件。
3. 抽象出专门的后置条件的判断,可以处理多种判断。实际情况中,只做一种相等的判断是不够的。
4. 对预期后置条件的生成要考虑字段为空的情况。
5. 增加比较预期后置条件为Excel的能力。