[go] Go 언어의 테스트 도커화
이 기술 블로그에서는 Go 언어 프로젝트의 테스트를 도커 컨테이너 내에서 실행하는 방법에 대해 살펴볼 것입니다.
목차
소개
Go 언어의 테스트를 수행할 때 로컬 환경의 의존성 및 환경 변수 등으로 인해 일관된 테스트 결과를 얻기 어려울 수 있습니다. 이를 해결하기 위해 도커 컨테이너를 사용하여 테스트 환경을 격리시킬 수 있습니다. 이를 통해 모든 개발자가 동일한 환경에서 테스트를 수행하고, 이식성을 보장할 수 있습니다.
도커 이미지 생성
먼저, Go 프로젝트 루트 디렉토리에 다음과 같은 Dockerfile
을 작성합니다.
# 도커 이미지 생성을 위한 Dockerfile
# 베이스 이미지 설정
FROM golang:1.15
# 작업 디렉토리 설정
WORKDIR /app
# 소스 코드 복사
COPY . .
# 테스트 실행
CMD ["go", "test", "./..."]
위의 Dockerfile
은 Go 언어의 테스트를 실행하기 위한 도커 이미지를 정의합니다. 여기서는 Go 공식 이미지를 베이스 이미지로 사용하고 소스 코드를 복사한 뒤, 테스트를 실행합니다.
이후, 터미널에서 아래 명령어를 실행하여 도커 이미지를 빌드합니다.
docker build -t my-go-test-image .
도커 컨테이너 실행
도커 이미지를 성공적으로 생성했다면, 해당 이미지를 기반으로 도커 컨테이너를 실행할 수 있습니다. 아래 명령어를 사용하여 도커 컨테이너를 실행합니다.
docker run my-go-test-image
이제 도커 컨테이너 내에서 Go 언어의 테스트가 실행되고 결과를 확인할 수 있습니다.
결론
이렇게 함으로써, Go 언어 프로젝트의 테스트를 도커 컨테이너 내에서 실행할 수 있는 방법을 살펴보았습니다. 도커를 활용하여 테스트 환경을 격리하고, 일관된 테스트 결과를 얻을 수 있습니다.