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

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

我想要dbunit做的是:

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

有任何想法吗?

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

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