3

Java Web アプリケーションで Selenium GUI テストを使用しています。これらのテストは実際にはクライアントであるため、テストの実行後にデータベースをロールバックするにはどうすればよいでしょうか?

4

4 に答える 4

2

あなたが求めているのはFixture Teardown Patternsと呼ばれるものです。テストで作成されたすべてのリソースを追跡し、ティアダウン中にそれらを自動的に破棄/解放する必要があるためです。私は明らかにあなたのフレームワークを知りませんが、この場合

テスト実行後のデータベースのロールバック

良い候補はInline Teardownです。結果検証直後のテスト メソッドの最後に分解ロジックが含まれます。そのようです:

ここに画像の説明を入力

于 2015-11-03T11:33:29.640 に答える
1

私の推測では、Web アプリケーションは通常、リクエスト間のトランザクションをコミットするため、データベースを「ロールバック」することはできません。

独自のカスタム ロールバックを実装する必要があります。おそらく、テストごとに新しいユーザーを作成し、テスト後にこのユーザーが行った変更を削除することができます。または、コマンドパターンを実装したいかもしれません。

カスケード削除も役立つ場合があります

于 2015-11-03T11:04:06.420 に答える
0

ご提案いただきありがとうございます。この目的のために mysqldump を使用することにしました。Ant 内で、各バッチ テストの前後にテスト データベースをバックアップおよび復元します。

于 2015-11-06T12:46:24.703 に答える