[go] Go 언어의 테스트 도커화

이 기술 블로그에서는 Go 언어 프로젝트의 테스트를 도커 컨테이너 내에서 실행하는 방법에 대해 살펴볼 것입니다.

목차

  1. 소개
  2. 도커 이미지 생성
  3. 도커 컨테이너 실행
  4. 결론

소개

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 언어 프로젝트의 테스트를 도커 컨테이너 내에서 실행할 수 있는 방법을 살펴보았습니다. 도커를 활용하여 테스트 환경을 격리하고, 일관된 테스트 결과를 얻을 수 있습니다.