반응형
Spring Boot, Junit5에서 MongoDB 테스트 환경을 세팅하는 과정에서 발생한 오류 기록 정리
1. @SpringBootTest, @DataMongoTest 어노테이션을 동시에 사용할 수 없다.
- 참고링크: How to use these @DataMongoTest and @SpringBootTest together in integration test
- @AutoConfigureDataMongo, @SpringBootTest 어노테이션을 같이 사용
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
반응형
'Spring Boot > Test Code' 카테고리의 다른 글
Junit5] JwtAuthenticationFilter 테스트 코드 작성 (0) | 2023.07.24 |
---|---|
Junit5] MockMvc equals() and hashcode() (0) | 2023.07.23 |
Junit5] WebMvcTest: java.lang.AssertionError: JSON path (0) | 2023.07.15 |
Junit5] 테스트 코드 작성을 위한 서비스 코드 리팩토링 (0) | 2023.07.14 |
Junit5] org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false (0) | 2023.07.08 |