J'ai un projet de démarrage de printemps, la version 1.5.4, avec une classe de configuration MongoDB:Spring Boot 1.5.4: exclure la classe de configuration test unitaire
@Configuration
public class MongoConfig {
@Value("${spring.data.mongo.client.uri:mongodb://localhost:27017/database}")
private String mongoURI;
@Bean
public MongoDbFactory mongoFactory() throws UnknownHostException{
return new SimpleMongoDbFactory(new MongoClientURI(mongoURI));
}
@Bean
public MongoTemplate mongoTemplate() throws UnknownHostException, MongoException{
return new MongoTemplate(mongoFactory());
}
}
Dans mon test d'intégration que je veux utiliser intégré Mongo (https://github.com/flapdoodle-oss/de.flapdoodle.embed.mongo).
Le problème est que la classe de configuration MongoDb commence avant l'initialisation de Embedded mongo et essaie de se connecter à la base de données, mon test échoue donc. Si je supprime la classe MongoConfig, tous les tests fonctionnent bien. Comment est-ce que je peux l'exclure seulement dans mon exécution de test?
Je sais que ce n'est pas votre question, mais jetez un oeil à testContainers: https://www.testcontainers.org/ c'est la solution que j'utilise pour mon test (principalement des tests d'intégration), un petit tutoriel ici : https://areguig.github.io/test-springboot-apps-using-testContainers-and-spock/ –