Spring Boot/Test Code

Junit5] MongoDB 테스트 환경 세팅

나른한 찰리 2023. 7. 17. 13:35
반응형

Spring Boot, Junit5에서 MongoDB 테스트 환경을 세팅하는 과정에서 발생한 오류 기록 정리

 

 

1. @SpringBootTest, @DataMongoTest 어노테이션을 동시에 사용할 수 없다.

 

 

2. 실행 시에 test/resources/application.yml에 mongodb config 정보를 입력해야 한다.

  • 입력하지 않으면 org.springframework. dao. DataAccessResourceFailureException: 오류 발생

 

  • 주의! 여기서 uri 부분 주석을 해제하면, org.springframework.data.mongodb.UncategorizedMongoDbException: Exception authenticating MongoCredential 오류가 발생한다.

 

spring:
  data:
    mongodb:
      host: [host]
      port: 27017
      authentication-database: admin
      username: root
      password: [password]
      database: [mydatabase]
    # uri: mongodb://username:password@localhost:27017/mydatabase

 

  • uri 부분을 사용한다면, ?authSource=admin 을 추가한다.
mongodb://username:password@localhost:27017/mydatabase?authSource=admin

 

 

 

 

 

 

 

3. 테스트 데이터 롤백하기

  • 기존에 JPA에서 사용하던 @Transactional, @Rollback(value = true)는 작동하지 않는다.

 

 

 

참고 링크

1. 참고링크1

2. 참고링크2

3. 참고링크3

4. 참고링크4

 

반응형