Spring-JPAおよびSpring-Data-Mongoリポジトリ用のJUnitテストを作成しています(各クラスには1つのリポジトリのみのテストが含まれています)。各テストのために、私はクリーンなデータベースを取得するので、それが正常に動作しJPA(Postgresのか、H2 DB)についてはMongoDB用のSpring DirtiesContext
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
:各テストは、私はDirtiesContextを使用していますが実行される前に、データベースをクリーンアップします。しかし、MongoDBでは正しく動作しません。データベースは各テストの前に再作成されません。
しかし私はPostgresやH2では動作するが、Mongoでは動作しない理由を理解したいと思っています。
あなたの答えをありがとう。だから今の質問はPostgreSQLでうまくいく理由です。 PostgreSQLデータベースでは、コンテキストがダーティとマークされたときにデータが更新されます。したがって、Mongoとまったく同じように動作します。しかし、モンゴにとってはうまくいかない。なぜなのかご存知ですか? – Adam
私はアプリケーションのプロパティで私はspring.jpa.hibernate.ddl-auto = create-dropを使用しているので、Postgresのために動作すると思います。このモードを更新するように変更すると、DirtiesContextが設定されていてもデータは削除されません(スキーマは再生成されません)。今私はモンゴーにも同様の選択肢があると思いますか? – Adam