ヘルプのために、ここに私の環境があります:
- Visual Studio 2010およびC#
- SQLManagementStudioを備えたSQLServer2008 R2
- NUnit
私はデータベースと相互作用する多くの統合テストを作成しているところです。各テストには、非常に特定の状態のデータベースが必要です。ORMまたはSQLManagementStudioで直接データを挿入したくありません。
私が欲しいのは、VMwareスナップショットのような構造を持ついくつかのSQLスクリプトです。
例えば:
->[列挙型にマップされたテーブルなどのシステムテーブルを含むメインスクリプト].sql
--->[一部のテーブルの2行].sql
------>[他のテーブルの他のいくつかの行].sql
--->[別のテスト用の2行].sql
------>[他のケースを処理するための他のいくつかの行].sql
このタイプの構造では、特定のバージョンのスナップショットにロールバックしてデータベースを特定の状態に設定し、構造内にスナップショットの別のブランチを作成することができます。
各テストの前に、データベース内のすべてのテーブルをクリーンアップしてから、特定のSQLスクリプトを実行します。
データベースとの統合テストを行うのに良い方法ですか?
このタイプのSQLスクリプト構造を実行するためのツールはありますか?
ベストプラクティスのリストはありますか?
私が何をしたいのかがよくわからない場合、このタイプのテストを実行するための最良のアーキテクチャ、方法論は何ですか?
どうもありがとうございます。