단위 테스트, 버전 1.5.4에서 구성 클래스를 제외 : 내 통합 테스트에서봄 부팅 1.5.4하십시오 MongoDB를 구성 클래스와, 내가 봄 부트 프로젝트가
@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());
}
}
을 내가 임베디드 몽고를 사용하려면 (https://github.com/flapdoodle-oss/de.flapdoodle.embed.mongo).
문제는 MongoDb 구성 클래스가 Embedded mongo의 초기화 전에 시작되어 데이터베이스에 연결하려고하므로 내 테스트가 실패합니다. MongoConfig 클래스를 제거하면 모든 테스트가 잘 수행됩니다.
테스트 실행에서만 어떻게 제외 할 수 있습니까?
나는이게 당신의 질문에 관한 것이 아니라, testContainers : https://www.testcontainers.org/를 살펴 보시기 바랍니다. 제가 테스트 (주로 통합 테스트)에 사용하는 솔루션입니다. 작은 튜토리얼입니다. : https://areguig.github.io/test-springboot-apps-using-testContainers-and-spock/ –