Вграденият 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() {
}
}