数据库单元应忽略行的顺序

时间:2012-10-30 15:29:59

标签: java database testing dbunit

有没有办法让DB-Unit忽略比较行的顺序?我的问题是,我不知道行将以何种顺序写入数据库,但DB-Unit迫使我给出一个有序列表。

我想让dbunit做的是:

  • 检查数据库和预期数据集中的行数是否匹配(已解决:开箱即用
  • 检查每个行是否只在结果集中找到一次。 (未解决)

有什么想法吗?

1 个答案:

答案 0 :(得分:9)

为我解决了这个问题。我正在排序实际和预期表的行。因此,我使用可在预期表中找到的所有列。如果您检查的表很大,这种方法可能会导致问题,但在我的情况下则不然。 : - )

Column[] expectedColumns = expectedTable.getTableMetaData().getColumns();
ITable sortedExpected = new SortedTable(expectedTable, expectedColumns);
ITable sortedActual = new SortedTable(actualTable, expectedColumns);
Assertion.assertEquals(sortedExpected, sortedActual);