tSQLt - AssertEqualsTable 是如何工作的?

tSQLt - How does AssertEqualsTable work?

tSQLt 有一个名为 AssertEqualsTable 的命令,用于测试 2 个表的内容是否匹配。

我想了解逻辑是如何工作的,它是否使用第一列作为两个表之间的联接,然后测试该行的其余列(联接)是否匹配?

AssertEqualsTable 比较整行 - 即所有列。例如,如果 expected table 有一行四列('A'、'B'、'C'、'D')和 actual 也有一行('A'、'B'、'C'、'E'),AssertEqualsTable 返回的结果将显示两行 - 预期的 ABCD 行不是找到加上返回的 ABCE 行,但不是预期的。

无法保证任何人可能想要编写的每个测试中的预期和实际 table 甚至都具有唯一键,因此必须基于整行进行比较。