MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да деактивирате flapdoodle вграден mongodb в определени тестове

Вграденият Mongo демон се стартира с EmbeddedMongoAutoConfiguration . Можете да деактивирате стартирането на демон в един тест, като изключите EmbeddedMongoAutoConfiguration от сканиране:

@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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. премахнете 0 стойности, ако 0 е последвано от>=1 от масиви в MongoDB

  2. Частични съвпадения с помощта на примитивния пакет на mongo

  3. MongoDB 2.1 Aggregate Framework Сума от елементи на масив, съответстващи на име

  4. Използвайте $cond в рамките на $match в агрегирането на mongoDB

  5. Нормално ли е да има много връзки между node и mongo при използване на mongoose?