DBunit中的IDataSet操作

时间:2015-04-22 22:59:04

标签: java testing junit dbunit xmldataset

我使用IDataSet从XML文件中读取并写入我的数据库,这样我就可以针对我的数据库运行Junit测试。问题是我的senario变得复杂,我需要在测试中间更改数据库中的数据。

我一直在寻找一种方法来更改IDataSet数据而无需读取XML文件并写入数据库,这样我就不必创建几个巨大的XML文件来改变一行!

我的代码目前是这样的

IDataSet dataSet  = new XmlDataSet(fileStream);
DatabaseOperation.CLEAN_INSERT.execute(jdbcConnection, dataSet);

提前多多感谢

2 个答案:

答案 0 :(得分:1)

我要去尝试

ReplacementDataSet rds = new ReplacementDataSet(ds);

rds.addReplacementObject(John, Tom );

我想如果一个字段是唯一的,它就会起作用!

答案 1 :(得分:0)

通常,需要在测试过程中更改数据意味着测试实际上不止一个测试;从需要的数据变化点开始的下一个测试。

尝试将“数据更改”点的测试拆分为第二个。为每个测试将多个XML文件加载到数据库中 - 一个公共数据“共享”文件,然后是每个测试特定数据的单独XML文件。在上面的示例中,创建公共数据的“...巨大的XML文件”,然后创建两个单独的XML文件,每个文件包含每个测试的一个不同的行。