Unitils是一个很是好用的集成了多个测试组件的工具,可是在使用过程当中也遇到了一些问题,特记录以下: java
现象:@ExpectedDataSet测试失败,未匹配到方法提交到数据库中的数据。
分析:检测结果显示经过@ExpectedDataSet得到的数据库数据并不包含方法执行提交的数据,怀疑为二者并无共享同一个数据库链接,然而复核源码unitils用的也是DataSourceUtils,最后发现是spring本身维护了一个dataSource,Unitils也维护了一个dataSource,形成没法共享链接。
解决:修改spring配置文件,将dataSource改成:
spring
<bean id="dataSource" class="org.unitils.database.UnitilsDataSourceFactoryBean" />