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

Posted

技术标签:

【中文标题】数据库单元应忽略行的顺序【英文标题】:DB Unit should ignore order of rows 【发布时间】:2012-10-19 23:47:49 【问题描述】:

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

我想让 dbunit 做的是:

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

有什么想法吗?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于数据库单元应忽略行的顺序的主要内容,如果未能解决你的问题,请参考以下文章

如何将光标设置在绑定到数据表的datagrid中空行的第一个单元格上

排序(字母顺序)以忽略空单元格:dataTables

按字母顺序排序时忽略变音符号

使用 JDBC 更新数据库,其中包含一些应忽略的值

增加特定行的高度

pandas计算dataframe数据行的均值(mean)实战:设置skipna=False则计算行均值时不会忽略NaN值