3

Play 1.2.x DB の進化機能を使用しています。プレイ自動テストでテストされるスキーマを作成および開発するためのスクリプトが必要です

したがって、テスト スイートの前に空の DB が必要です。

私は考えました:

  • DB内のすべての構造を削除できる@OnApplicationStartupリスナーを登録し(おそらくいくつかのダーティコードが必要になります)、残りはdbの進化に任せます。しかし、再生の進化も @OnApplicationStartup であり、リスナーが最初になるようにする方法がわかりません。これは、コードから DB の進化を呼び出す別のハックで克服できます。
  • 自動テストを実行する前に、いくつかのスクリプトを使用してDBを削除して再作成しますが、それでも私のテストが常に必要なテストになるわけではありません。たとえば、自動テストだけでなく、スクリプトを使用することを常に覚えておく必要があります。Eclipse からテストを実行する場合、このスクリプトは実行されません。

他のオプションはありますか?

または、誰かがこのようなものをテストするための他の解決策を提案できますか?

ありがとう

4

1 に答える 1

3

より単純:インメモリデータベースを使用します(SQLが正常に機能するようにprodデータベースと構文が互換性があります)。

実行するたびに新しいdbが作成され、evolutionは常に実行されます。

于 2012-06-13T14:48:35.417 に答える