我为实际和预期定义了两个表,具有完全相同的架构。我将两行插入到预期的表中,ID 为 2、1。
我跑
INSERT INTO actual EXEC tSQLt.ResultSetFilter 1, '{statement}'
填充实际然后
EXEC tSQLt.AssertEqualsTable @expected = 'expected' , @actual = 'actual'
比较结果。
即使数据的顺序不同(实际 ID 为 1、2),测试也通过了。
我通过在测试中添加 SELECT * FROM 实际和 SELECT * FROM 预期并使用 tSQLt.Run '{test name}' 自行运行测试来确认数据不同。
有谁知道这是否是一个已知的错误?显然它应该检查每行,所以应该检查排序。返回的所有其他列都是 NULL,它只是包含值的 ID 列。