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() {
}
}