3

私は現在、InnoDBエンジンを備えたデータベースにMySQLを使用するPHPアプリケーション用に、セレンとBehatを使用して自動テストを構築しています。データベースは約 50 GB で、大量のデータが含まれています。テストは正常に実行されていますが、現在、新しいテストを実行する前にクリーンアップに苦労しています。

テストはデータを挿入しているため (たとえばユーザーを作成するため)、各テストを実行する前に DB を既知の状態にしたいと思います。クリーンアップ スクリプトは、データ間に多くの関係があるため、副作用なしで実行するのは非常に複雑です。

私の質問は、Behat 機能が実行される直前に、DB を既知の状態にすばやく復元するための良い方法 (50GB は大量のデータ) があるかどうかです。

4

2 に答える 2

4

50GB のデータでテストしないでください。特にテスト用のデータが少ないデータベースを作成します。

于 2013-08-03T11:11:36.120 に答える
0

すべてのクエリをロールバックする「ドライラン」モードでトランザクションを使用できます。DB の特定の状態を復元することはできませんが、変更を加えることなくデータを操作できるようになります。

于 2013-09-19T11:23:24.773 に答える