MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak wyłączyć osadzony mongodb w programie Flapdoodle w niektórych testach?

Wbudowany demon Mongo jest uruchamiany za pomocą EmbeddedMongoAutoConfiguration . Możesz wyłączyć uruchamianie demona w jednym teście, wyłączając EmbeddedMongoAutoConfiguration ze skanowania:

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

    @Test
    public void test() {
    }
}

Wolałbym odwrotną funkcjonalność:uruchamianie osadzonego demona Mongo na żądanie. Aby to zrobić, musisz wykluczyć EmbeddedMongoAutoConfiguration w kodzie produkcyjnym:

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

Następnie w kodzie testowym dodaj adnotację, która umożliwi uruchomienie wbudowanego demona Mongo:

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

I opisz swój test:

@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. Mongoose + lodash niepoprawnie rozszerzają tablicę kopiowania obiektu

  2. Projektuj różne wbudowane struktury pod tę samą nazwę

  3. Powłoka MongoDB i serwer nie pasują do siebie

  4. Jak skonfigurować bazę danych MongoDB na Heroku z MongoLab?

  5. Nie można połączyć się z mongoDB uruchomioną w kontenerze docker