sql >> Databáze >  >> NoSQL >> MongoDB

Jak deaktivovat flapdoodle embedded mongodb v určitých testech

Embedded Mongo démon se spouští pomocí EmbeddedMongoAutoConfiguration . Spuštění démona můžete zakázat v jediném testu vyloučením EmbeddedMongoAutoConfiguration ze skenování:

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

    @Test
    public void test() {
    }
}

Preferoval bych opačnou funkcionalitu:spustit vestavěného démona Mongo na vyžádání. Chcete-li to provést, musíte vyloučit EmbeddedMongoAutoConfiguration ve výrobním kódu:

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

Poté do testovacího kódu přidejte anotaci, která umožní spuštění vestavěného démona Mongo:

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

A komentujte svůj test:

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

    @Test
    public void test() {
    }
}



  1. redis Zdá se, že server ukončil spojení

  2. MongoDB – Získejte nejnovější nenulovou hodnotu pole z dokumentů s časovým razítkem

  3. Skupinové pole po uvolnění a zápase

  4. pochopit nové mongo id a použít jej s iron-routerem