목록 보기
실제처럼, 빠르게, 안정적으로: 에이닷 통합 테스트 환경 구축기 (WireMock + Docker + GitLab CI)
데브옵스

실제처럼, 빠르게, 안정적으로: 에이닷 통합 테스트 환경 구축기 (WireMock + Docker + GitLab CI)

데보션
데보션
2025년 8월 25일

두줄요약

외부 API 의존으로 흔들리던 통합 테스트를 WireMock, Docker, GitLab CI로 분리하고 자동화했습니다. 로컬과 CI에서 같은 환경을 써 테스트 신뢰도와 개발 생산성을 높였습니다.

문제 상황

  • 외부 Model Provider 직접 연동으로 인한 통합 테스트 불안정
  • 서버 상태, 타임아웃, 스펙 변경으로 인한 빈번한 테스트 실패
  • 로컬 DB·Redis 실행과 수동 Mock API 관리의 번거로움

원인 분석

  • 외부 서비스 상태에 테스트가 종속되는 구조
  • 실제 실패 원인과 외부 요인 구분의 어려움
  • Mock API 변경 사항을 함께 유지보수해야 하는 부담

해결 방법

  • WireMock으로 외부 API 응답을 stub 기반으로 모킹
  • Docker로 WireMock, DB, Redis를 컨테이너화해 통합 테스트 환경 구성
  • GitLab CI의 services와 alias로 파이프라인에서 동일한 테스트 환경 실행

적용해볼 점

  • 응답 패턴 중심의 stub 정의로 에러·지연 케이스 분리
  • healthcheck와 컨테이너 기반 구성으로 준비 상태 확인
  • 로컬과 CI에서 같은 방식의 테스트 환경 재사용

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...