woowa-techcamp-2024/Team1-3K1K

[오류] 테스트 환경에 Redis 환경이 모두 설정되지 않아 통합 테스트시 Bean 생성 오류가 발생

Closed this issue · 1 comments

설명

짧고 명확하게 오류에 대해 설명합니다

오류 발생 재현

이렇게 했더니 다음과 같은 오류가 발생했습니다
주의. log는 절대!!! 복붙하지 않고 인용, gist등을 이용합니다

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

기대 결과

이런 결과가 나왔으면 좋겠습니다

첨부 자료

해당 템플릿에 자료(사진, 동영상 등) 첨부합니다

추가 정보

추가로 하고 싶은 말이나 위에서 설명하지 못했던 것 등을 간략히 작성합니다
긴 논의는 GitHub Discussion에서 진행해주세요

나의 환경

외부적 환경으로 인해 문제가 발생한 것 같다면 기재해줍니다

Desktop

  • OS: windows 11
  • IDE: Intellij
  • Browser: Chrome

문제 원인:

  • 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 환경을 구축