코딩박스

[MongoDB] embedded mongo 테스트 코드 적용

by 코박7

들어가기 전.

  • spring boot 2.7 version 이용중입니다.
  • mongoTemplate 가 아닌 mongoRepository 를 이용하였습니다.

 

1. 의존성 추가.

testImplementation("de.flapdoodle.embed:de.flapdoodle.embed.mongo.spring27x:4.3.2")
testImplementation("de.flapdoodle.embed:de.flapdoodle.embed.mongo:4.2.0")
  • embedded mongo 를 사용하기 위한 의존성을 추가해준다.

 

2. properties 수정

de.flapdoodle.mongodb.embedded.version=5.0.14
spring.data.mongodb.port=0
  • 자신이 사용하는 properties 또는 yml 에 version 을 추가해준다.

 

3. 어노테이션 적용

@TestPropertySource(properties = "spring.mongodb.embedded.version=5.0.14")
  • 자신이 사용하는 테스트 클래스에 어노테이션을 추가해준다.

 

4. 결과

  • 테스트 코드 실행 결과 라이브러리를 다운받고 잘 실행되었다.

 

  • 잘 실행되는 모습.

 

주의할점.

  • 테스트 코드에서 @SpringBootTest 와 @MongoTest 는 같이 사용할 수 없었다.
  • properties 에서 spring.mongodb.embedded.version=5.0.18 는 작동하지 않았다.
  • spring.data.mongodb.port=0 를 추가해준 이유는 랜덤포트를 사용하기 위함이다.
  • @AutoConfigureDataMongo 를 사용하지 않아도 알아서 embedded 몽고가 실행된다.

블로그의 정보

코딩박스

코박7

활동하기