我刚开始使用 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));
现在,当测试运行时,用户的创建数据将始终设置为测试运行前两天。
希望这可以帮助。祝你好运。