Java DB单元:测试插入和更新操作

Java DB单元:测试插入和更新操作,java,unit-testing,junit,dbunit,Java,Unit Testing,Junit,Dbunit,如何使用DB单元测试INSERT和UPDATE操作?我正在使用fixtures数据xml测试读取操作 这是否意味着测试用例将在xml本身中插入/更新一行?如果是,DBUnit是否提供了使用xmld的实用程序? 已经测试了测试表是否返回一条记录或多条记录的方法。在这些读取案例中,测试是通过比较ITables来完成的。我不确定在创建操作的情况下断言什么。行数? Update操作也会遇到同样的问题。在执行更新之后,测试用例应该断言什么 如何使用DB单元测试INSERT和UPDATE操作 在INSERT

如何使用DB单元测试
INSERT
UPDATE
操作?
我正在使用fixtures数据xml测试读取操作
这是否意味着测试用例将在xml本身中插入/更新一行?如果是,DBUnit是否提供了使用xmld的实用程序? 已经测试了测试表是否返回一条记录或多条记录的方法。在这些读取案例中,测试是通过比较
ITable
s来完成的。
我不确定在创建操作的情况下断言什么。行数?
Update
操作也会遇到同样的问题。在执行更新之后,测试用例应该断言什么

如何使用DB单元测试
INSERT
UPDATE
操作

INSERT
上,验证行计数为+1,然后运行
SELECT
搜索插入的记录

UPDATE
上,通过在
UPDATE
之前和之后运行
SELECT
,验证更新的记录与旧记录不匹配

我正在使用fixtures数据xml测试读取操作
这是否意味着测试用例将在xml本身中插入/更新一行

否。DbUnit读取XML文件并在内存中创建它的快照。插入和更新是在内存中完成的,因此永远不会修改XML

我不确定在创建操作的情况下断言什么。行数?
Update
操作也会遇到同样的问题。在执行更新之后,测试用例应该断言什么

见问题1的答案


也可用于参考。

您可以将
@ExpectedDatabase
注释与适当的
assertMode

e、 g

@Test
@ExpectedDatabase(value = "result-data.xml")
public void testInsertion() {
    ...
}