스프링부트(Spring-boot)에서 레디스(Redis) 사용할 때, 간단한 설정만으로도 사용할 수 있다.
테스트 환경도 로컬 환경이나 개발 환경에 설치한 레디스를 이용할 수 있지만 이번에는 Textcontainers를 이용하여 테스트 환경을 구성해보자. 단, junit이 아닌 spock를 사용해보자.
build.gradle
에 spock을 위한 라이브러리와 spock에서 testcontainers를 이용하기 위한 라이브러리를 추가하자.
그리고 테스트 코드에서는 도커(docker)로 실행한 레디스를 정보를 가져와 설정한다.
핵심 부분은 레디스 컨테이너(container)를 생성하고 생성한 레디스 컨테이너 정보를 @DynamicPropertySource
를 통해 호스트(host)와 포트(port)를 설정하는 부분이다.
이렇게 설정하면 로컬에서 띄운 레디스 컨테이너와 연결할 수 있고 RedisTemplate
를 이용해 값을 설정하고 가져올 수 있다.