인프런 커뮤니티 질문&답변

양성빈님의 프로필 이미지
양성빈

작성한 질문수

스프링 부트 개념과 활용

스프링 데이터 10부: MongoDB

MongoDB slice test

해결된 질문

작성

·

835

1

학습하시는 분들이 혹여나 오류가 있을까봐 게시판에 남겨놓습니다.

spring boot 2.6버전 이상 쓰시는 분들은 테스트 코드가 오류가 날수 있습니다.

Caused by: java.lang.IllegalStateException: Set the spring.mongodb.embedded.version property or define your own MongodConfig bean to use embedded MongoDB

at org.springframework.util.Assert.state(Assert.java:76)

at org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration.determineVersion(EmbeddedMongoAutoConfiguration.java:148)

at org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration.embeddedMongoConfiguration(EmbeddedMongoAutoConfiguration.java:128)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:568)

at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)

... 159 more



해결책을 찾아보니 다음과 같이 해결해줄수 있었습니다.

@DataMongoTest
@TestPropertySource(properties = "spring.mongodb.embedded.version=3.5.5")
@ActiveProfiles("test")

spring boot 2.6이상버전 부터는 spring.mongodb.embedded.version은 자동 구성된 임베디드 MongoDB를 사용하도록 설정해야하는것 같습니다.

참고: https://stackoverflow.com/questions/70047380/excluding-embededmongoautoconfiguration-failed-in-spring-boot-2-6-0

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.6-Release-Notes#embedded-mongo

혹시 에러때문에 실패하시는분들이 있으시면 참고하시면 좋을것 같습니다.
그리고 교안도 수정해주신다면 감사하겠습니다.

항상 좋은강의 만들어주셔서 감사합니다.


답변 1

0

감사합니다.

양성빈님의 프로필 이미지
양성빈

작성한 질문수

질문하기