sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan deaktiveres flapdoodle-indlejret mongodb i visse tests

Embedded Mongo daemon startes med EmbeddedMongoAutoConfiguration . Du kan deaktivere dæmonstart i en enkelt test ved at ekskludere EmbeddedMongoAutoConfiguration fra scanning:

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

    @Test
    public void test() {
    }
}

Jeg ville foretrække en modsat funktionalitet:start indlejret Mongo-dæmon efter behov. For at gøre dette skal du udelukke EmbeddedMongoAutoConfiguration i produktionskode:

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

Tilføj derefter en annotation i testkoden, som vil aktivere indlejret Mongo-dæmonstart:

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

Og anmærk din test:

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

    @Test
    public void test() {
    }
}



  1. Kan ikke løse Assembly- eller Windows-metadatafilen 'System.Data.dll'

  2. Meteor publish-abonnement er ikke reaktivt

  3. MongoDB $degreesToRadians

  4. Hvordan bruger man MongoDB med løfter i Node.js?