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