[오류] 테스트 환경에 Redis 환경이 모두 설정되지 않아 통합 테스트시 Bean 생성 오류가 발생
Closed this issue · 1 comments
Dr-KoKo commented
설명
짧고 명확하게 오류에 대해 설명합니다
오류 발생 재현
이렇게 했더니 다음과 같은 오류가 발생했습니다
주의. log는 절대!!! 복붙하지 않고 인용, gist등을 이용합니다
- Go to '...'
- Click on '....'
- Scroll down to '....'
- See error
기대 결과
이런 결과가 나왔으면 좋겠습니다
첨부 자료
해당 템플릿에 자료(사진, 동영상 등) 첨부합니다
추가 정보
추가로 하고 싶은 말이나 위에서 설명하지 못했던 것 등을 간략히 작성합니다
긴 논의는 GitHub Discussion에서 진행해주세요
나의 환경
외부적 환경으로 인해 문제가 발생한 것 같다면 기재해줍니다
Desktop
- OS: windows 11
- IDE: Intellij
- Browser: Chrome
Hyeon-Uk commented
문제 원인:
- test-container의 포트충돌 x
- 현재 redis가 필요한 테스트코드에만 redis-container를 실행시켜 테스트를 진행하는 상황
- redis가 필요하지 않은 다른 서비스 테스트의 @SpringBootTest 실행시에는 redis-container가 실행되어있지 않기 때문에 redis connection 관련 @bean이 생성 실패
문제 해결 방법:
- JUnit 테스트가 실행되기 이전에 redis 환경을 실행시킨 뒤 모든 테스트를 실행한다.
최적화:
- test-container로 redis환경을 구축 시 레디스 이미지 다운로드(이미지가 없는 경우) -> 레디스 컨테이너 실행 -> 기존 property에 저장된 redis.host를 docker container의 host로 변경 하는 과정이 번거롭고 오래걸림
- 따라서 embedded-redis를 사용해 test용 redis 환경을 구축