インメモリ DB (H2) に対して特定の統合テストを実行し、Oracle テスト DB に対して他の統合テストを実行する方法を見つけようとしています。私の限られたテスト作成経験かもしれませんが、一部のテスト (検索クエリなど) はクエリ対象のデータ セットを制御できるため、メモリ内での使用により適しているように思われます。また、トランザクション/永続性のテストなどの他のテストでは、REAL スキーマを使用することでメリットが得られるようです。および DB (オラクル)。
私は2つのアプローチを考えることができますが、どちらも実装する方法がわかりません:
- integration-test-in-mem と integration-test (oracle を使用) を使用して、異なるテストを異なるフェーズで実行し、それぞれを異なる DB 用に構成できるように、新しいテスト フェーズを追加します。
- どのデータソースを使用するかを各テストで制御する
最初のほうがきれいなので、使用するデータソースを制御するロジックでテストを汚染する必要はありません。
また、2 つ目は、ドメインごとに異なるデータソースを設定するだけではありません。異なる DB に対する異なるテストで同じドメインを再利用したいと考えています。
アイデアを歓迎します。これを行った場合は、共有してください。SPOCKを使用しています。