我刚开始使用DBUnit,并且正在寻找类似的功能。不幸的是,框架中似乎没有针对日期的表达语言。但是,我确实找到了使用DBUnit的ReplacementDataSet类的合适的解决方法。此类采用IDataSet对象,并公开用于替换IDataSet对象从数据集文件中提取的对象的方法。
资料集
<dataset> <user first_name="Dan" last_name="Smith" create_date="[create_date]"/><dataset>
源代码
String dataSetFile = "testDataFile.xml";IDataSet dataSet = new FlatXmlDataSetBuilder().build(new FileInputStream(dataSetFile));ReplacementDataSet rDataSet = new ReplacementDataSet(dataSet);Set<String> keys = dataSetAdjustments.keySet();rDataSet.addReplacementObject("[create_date]", DateUtils.addDays(new Date(), -2));现在,运行测试时,用户的创建数据将始终设置为运行测试前两天。
希望这可以帮助。祝好运。



