sql >> データベース >  >> NoSQL >> MongoDB

特定のテストでflapdoodle埋め込みmongodbを無効にする方法

    Embedded Mongoデーモンは、EmbeddedMongoAutoConfigurationで起動されます 。 EmbeddedMongoAutoConfigurationを除外することで、1回のテストでデーモンの起動を無効にできます。 スキャンから:

    @RunWith(SpringRunner.class)
    @SpringBootTest
    @TestPropertySource(properties = "spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration")
    public class DoNotStartMongoTest {
        //...
    
        @Test
        public void test() {
        }
    }
    

    私は反対の機能を好みます:オンデマンドで組み込みMongoデーモンを起動します。これを行うには、EmbeddedMongoAutoConfigurationを除外する必要があります 本番コード:

    @EnableMongoRepositories
    @SpringBootApplication(exclude = EmbeddedMongoAutoConfiguration.class)
    public class MySpringBootApplication {
        public static void main(String[] args) {
            SpringApplication.run(MySpringBootApplication.class, args);
        }
    }
    

    次に、テストコードでアノテーションを追加して、組み込みのMongoデーモンの起動を有効にします。

    @Retention(RUNTIME)
    @Target(TYPE)
    @Import(EmbeddedMongoAutoConfiguration.class)
    public @interface EnableEmbeddedMongo {
    }
    

    そして、テストに注釈を付けます:

    @RunWith(SpringRunner.class)
    @SpringBootTest
    @EnableEmbeddedMongo
    public class StartMongoTest {
        //...
    
        @Test
        public void test() {
        }
    }
    



    1. Postgres9.4jsonbは基本的な演算子を照会します

    2. 複数の変数を持つrender_template

    3. DjangoCeleryがタスク数を取得

    4. ファイルストレージとしてのMongoDB