如何使用数据库单元测试INSERT
和UPDATE
操作?
我使用fixture数据xml来测试读取操作。
这是否意味着测试用例会在xml中插入/更新一行?如果是,DBUnit是否提供了与xmld一起使用的任何实用程序?
已经有测试方法,测试表是否返回一条记录或多条记录。在这些读取案例中,通过比较ITable
来完成测试。我不确定在创建操作的情况下断言是什么。行数?
同样的问题与Update
操作有关。在进行更新后,测试用例应该断言什么?
答案 0 :(得分:3)
如何使用数据库单元测试
INSERT
和UPDATE
操作?
在INSERT
上,验证行计数为+1并运行SELECT
搜索插入的记录。
在UPDATE
上,通过在SELECT
之前和之后运行UPDATE
来验证更新的记录是否与旧记录不匹配。
我正在使用灯具数据xml来测试读取操作 这是否意味着测试用例会在xml中插入/更新一行?
没有。 DbUnit读取XML文件并在内存中创建它的快照。您的插入和更新是在内存中完成的,因此XML永远不会被修改。
我不确定在创建操作的情况下断言是什么。行数?
同样的问题与Update
操作有关。在进行更新后,测试用例应该断言什么?
见问题1的答案。
也可以使用http://dbunit.sourceforge.net/作为参考。
答案 1 :(得分:0)
您可以将@ExpectedDatabase
注释与适当的assertMode
e.g。
@Test
@ExpectedDatabase(value = "result-data.xml")
public void testInsertion() {
...
}