Unitils是一个非常好用的集成了多个测试组件的工具,但是在使用过程中也遇到了一些问题,特记录如下:
- 仅支持FlatXmlDataSet,不支持一个表有多条记录的情况;通过自己实现DataSetFactory支持额外的数据集格式。
现象:@ExpectedDataSet测试失败,未匹配到方法提交到数据库中的数据。
分析:检测结果显示通过@ExpectedDataSet获得的数据库数据并不包含方法执行提交的数据,怀疑为两者并没有共享同一个数据库连接,然而复核源码unitils用的也是DataSourceUtils,最后发现是spring自己维护了一个dataSource,Unitils也维护了一个dataSource,造成无法共享连接。
解决:修改spring配置文件,将dataSource改为:
<bean id="dataSource" class="org.unitils.database.UnitilsDataSourceFactoryBean" />
来源:oschina
链接:https://my.oschina.net/u/699015/blog/150795