最近、(永続化された)計算列を含むテーブルを呼び出すプロシージャで(Red Gate SQL Testを介して)いくつかのtSQLtデータベース単体テストを作成していますが、FakeTable SPを使用すると、計算列にデータが入力されていないことがわかります(それらはnullとして評価されます)。計算された列はテストの鍵となるため、テストの列を無視することはできず、ロジックを複製したくありません。
tSQLt.AssertEqualsTable SPを使用して結果を評価しているので、両方の列の値が同じであることを確認したいと思います。
実際には、FakeTableを使用せずに、テストの最後に(部分的な)ロールバックトランザクションステートメントを使用してこれを回避しました(http://sqlity.net/en/585/how-のブログ投稿による) to-rollback-in-procedures /)またはテスト値を明示的に削除します。
このテストをコーディングするためのより良い方法があるはずだと確信しており、どんな提案も歓迎します。