Oracle(またはpostgres)データベースとアプリケーションサーバーを使用して統合テストを実行します。各テストを別のテストから分離するために、データベーススキーマは削除され、各テストの前に再作成されます。
ご覧のとおり、これは時間がかかるプロセスです。アプリケーションは100以上のテーブルを使用します。各テーブルから不要なデータを削除するカスタムSQLを作成することを考えています。データベースの状態を保存および復元するためのより良い方法はありますか?
(DBUnitはこれを実行できるようですが、まだ試していません。)
単一のテストには以下が含まれます。
- データベーススキーマを作成します。
- アプリサーバーを起動します。
- 複数のクライアントアプリケーションを起動します。
- 実行して確認します。
私たちは5000の奇妙なテストを持っており、700時間かそこらかかります。(グリッド環境で実行し、一晩で終了します)
ほとんどのテストでは、最大10MBなどの小さなデータサイズを使用します。