テストのトランザクション スコープを制御できないときは、通常、毎回データベースを削除して最初から再作成します。
明らかに、これは、テストが裸のスキーマに対して実行できる場合 (または作成スクリプトに挿入されたハードコードされたルックアップ値を使用する場合) にのみ実現可能です。
大量のデータが事前に入力されたスナップショット データベースに対してテストするとき、以前にクリーンアップ スクリプトを使用したことがあります。たとえば、ベースライン スナップショットの最大 ID を超える各テーブルからすべてのレコードを削除します。
AdaTheDev が示唆するようにバックアップ/ロールバックを自動化しようとしたことはありませんが、潜在的に複雑な (そしてバグのある) クリーンアップ スクリプトを維持したくない場合は、おそらく最良の選択肢のように思えます (スナップショット データの複雑さ/頻度によって異なります)。スナップショットが変更される可能性があり、それに応じてクリーンアップを変更する必要があります)。
メモリ内のデータ ストアに対して Web テストを実行できるように、データ アクセスをモック アウトすることを検討しましたか? 次に、トランザクション スコープをロールバックできるデータ アクセス手順を内部でテストしますか?