У меня есть две таблицы, определенные для фактических и ожидаемых с точно такой же схемой. Я вставляю две строки в ожидаемую таблицу с идентификаторами, скажем, 2, 1.
я бегу
INSERT INTO actual EXEC tSQLt.ResultSetFilter 1, '{statement}'
чтобы заполнить фактическое тогда
EXEC tSQLt.AssertEqualsTable @expected = 'expected' , @actual = 'actual'
для сравнения результатов.
Несмотря на то, что данные находятся в другом порядке (фактические идентификаторы 1, 2), тест проходит.
Я подтвердил, что данные были разными, добавив SELECT * FROM actual и SELECT * FROM, ожидаемые в тесте, и запустив тест самостоятельно с помощью tSQLt.Run '{test name}'.
Кто-нибудь знает, известная ли это ошибка? По-видимому, предполагается проверка каждой строки, поэтому следует проверять порядок. Все остальные столбцы возвращаются NULL, это просто столбец идентификатора, который содержит значение.