2012-10-30 13 views
5

有没有告诉DB-Unit忽略应该比较行的顺序的方法?我的问题是,我不知道行将以何种顺序写入数据库,但DB-Unit强迫我给出一个有序列表。DB单元应该忽略行的顺序

我想要的DbUnit做的是:

  • 检查这个数字在数据库中的行和预期的数据集匹配(解决:开箱
  • 检查是否每行将只在一旦发现结果集。(没有解决)

任何想法?

回答

9

解决这个问题对我来说。我分拣实际和预期的表中的行。所以我用所有可以在预期表格中找到的列。这种方法可能会导致问题,如果你正在检查的表很大,但在我看来,它不是。 :-)

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