最近、(永続的な)計算カラムを含むテーブルを呼び出すプロシージャで、いくつかのtSQLtデータベースユニットテスト(Red Gate SQL Test経由)を書いていますが、FakeTable SPを使用すると、私は、計算された列は、(NULLとして評価されていません)が入力されていないことがわかります。計算された列はテストの鍵ですので、テストの列を無視することはできません。論理を重複させたくありません。計算カラムでtSQLtを使用したユニットテスト
私はtSQLt.AssertEqualsTable SPを使用して結果を評価していますので、両方で列の値が同じであることを確認します。
実際には、FakeTableを使用せず、テストの最後に(部分的な)ロールバックトランザクションステートメント(ブログポストhttp://sqlity.net/en/585/how-to-rollback-in-procedures/)を使用するか、テスト値を明示的に削除することで対処しました。
このテストをコーディングするには、より良い方法が必要であると確信しており、いかなる提案も歓迎します。
ありがとうございますSabastian、これは非常に役に立ちます。私は2つのテストを組み合わせようとしていましたが、あなたが指摘するように、これらは異なるテストでなければなりません。 – DaveGreen