MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cara menonaktifkan mongodb tertanam flapdoodle dalam tes tertentu

Daemon Mongo yang disematkan dimulai dengan EmbeddedMongoAutoConfiguration . Anda dapat menonaktifkan awal daemon dalam satu pengujian dengan mengecualikan EmbeddedMongoAutoConfiguration dari pemindaian:

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

    @Test
    public void test() {
    }
}

Saya lebih suka fungsi yang berlawanan:mulai tertanam daemon Mongo sesuai permintaan. Untuk melakukan ini, Anda harus mengecualikan EmbeddedMongoAutoConfiguration dalam kode produksi:

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

Kemudian dalam kode uji tambahkan anotasi yang akan mengaktifkan start daemon Mongo yang disematkan:

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

Dan beri anotasi pada pengujian Anda:

@RunWith(SpringRunner.class)
@SpringBootTest
@EnableEmbeddedMongo
public class StartMongoTest {
    //...

    @Test
    public void test() {
    }
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara mengulangi dengan benar melalui file json besar

  2. Spring Data mongo - masalah dengan koleksi Distinct

  3. Apakah fungsi javascript sisi server memiliki masalah kinerja di mongoDB?

  4. Agregasi Berbeda Mongo

  5. Mapreduce di driver asli mongodb ruby