まったく同じスキーマで、実際のテーブルと期待されるテーブルが 2 つ定義されています。予想されるテーブルに、ID が 2、1 の 2 つの行を挿入します。
走る
INSERT INTO actual EXEC tSQLt.ResultSetFilter 1, '{statement}'
次に実際のデータを入力します
EXEC tSQLt.AssertEqualsTable @expected = 'expected' , @actual = 'actual'
結果を比較します。
データの順序が異なっていても (実際の ID は 1、2)、テストはパスします。
テストで SELECT * FROM actual と SELECT * FROM expected を追加し、tSQLt.Run '{テスト名}' でテストを独自に実行して、データが異なることを確認しました。
これが既知のバグかどうかは誰にもわかりませんか? どうやら行ごとにチェックすることになっているので、順序をチェックする必要があります。返される他のすべての列は NULL であり、値を含むのは ID 列だけです。