データベース上のロールバックを使用したユニットテスト
-
10-10-2019 - |
質問
AC#環境での単体テストの重要性を理解し始めたばかりです。さて、データベースに挿入、削除、更新を行い、テストが成功した後にデータをクリーンアップするブラックボックスユニットテストをどのように実装するのだろうと思います。
挿入/更新/削除されたデータをロールバックするプロセスを実際にどのように行いますか?インデックスをリセットして挿入された行を削除するだけですか?または、スクリプトを作成してテーブルの元の状態を復元しますか?
私を導いてください、私はそれを感謝します。ありがとう!
解決
私たちがここで私たちの開発サイクルで何をするか。アプリケーションを開発している場合、私たちは常にその単体テストと負荷テストを心に留めています。したがって、すべてのデータレーダーのテーブルにuserIDまたはその他の列を作成します。次に、ロードテストまたはユニットテストを実行するときに挿入します userid -1 そのすべての列で、それがロードテストデータであると指摘し、 -2 ユニットテストデータの場合。次に、データベースの端でジョブを事前に定義し、しばらくしてそのデータをクリーニングします。
他のヒント
テストが簡潔であり、DALをテストするために、テストをテストするために、テストが完了するとロールバックされたトランザクションで挿入 /更新 /削除を行うだけではありません。
別のオプションは、テストクリーンアップ方法で特定の更新 /削除スクリプトを使用して、事前テスト値に更新 /挿入した正確な変更をロールバックすることです。
クリーンアップ方法で行を削除することは良い選択だと思います。
これにより、削除する行コードを常にテストします。
1つのオプションは、実際のデータベースの代わりに模擬データベースを使用することです。これが次のとおりです リンク それはそれを説明しています。