DBunit 中的 IDataSet 操作

IDataSet manipulation in DBunit

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

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

我的代码目前是这样的

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

非常感谢

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

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

我要试试

ReplacementDataSet rds = new ReplacementDataSet(ds);

rds.addReplacementObject(John, Tom );

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