私はプロジェクトのテスト環境に取り組んでおり、DbUnit.NET を使用して多くのデータベース相互作用テストを行うことを検討しています。ただし、非常に大きな質問が 1 つあります。
私たちは Oracle に対して実行しており、開発者ごとに個別のテスト DB インスタンスを設定することは実際には現実的ではありません (特に、すでに時間に縛られている DBA が 1 人しかいないため)。これは、すべての開発者と継続的インテグレーション サーバーがすべて同じ DB スキーマを使用する必要があることを意味します。
では、質問に移ります: 複数の人が同時にテストするのを防ぐ良い方法はありますか? テストが実行されていることを示すレコードを db テーブルに入れ、テストが終了したら削除するのは簡単ですが、NUnit にはテスト セッションの開始時と終了時に何かを実行する方法がありません。
他の考えはありますか?それはかなり一般的な問題のようです...または、テストを実行する可能性のある開発者/テスターごとに、実際には誰もが個別のDBインスタンスを実行していますか?