Embedded Mongoデーモンは、EmbeddedMongoAutoConfiguration
で起動されます 。 EmbeddedMongoAutoConfiguration
を除外することで、1回のテストでデーモンの起動を無効にできます。 スキャンから:
@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() {
}
}