
JEST를 이용한 SW Test 활용해보기
두줄요약
Jest와 Docker DB, Fixture·Snapshot·Rollback을 활용한 결제·쿠폰 모듈 테스트 방식을 소개했습니다. Husky pre-push 검증으로 회귀 오류를 막고 협업 안정성을 높인 경험을 공유합니다.
구조와 흐름
- Jest 기반 유닛 테스트와 시스템 테스트 파일 규칙 분리
- 복수 Docker DB 컨테이너를 큐로 관리하고 테스트별 acquire/release 수행
- Fixture·Snapshot·Rollback으로 테스트 전후 DB 초기 상태 복구
해결 방법
- 결제·쿠폰 모듈 개발 중 API 단위의 단순 테스트 케이스 우선 추가
- 개발 완료 후 주문 완료·2주 경과·쿠폰 조회·메일 발송·재조회까지 업무 플로우 검증
- 조기 발송, 중복 발송, 재고 부족, 복수 구매 수량 등 위험 시나리오 테스트 추가
성능/운영 포인트
- 병렬 테스트를 위한 복수 DB 컨테이너 운용
- Husky pre-push 훅으로 전체 테스트 자동 실행 및 실패 시 push 차단
적용해볼 점
- 개발 의도와 모듈 책임 범위를 테스트로 명시하는 방식
- 협업 수정이 기존 기능을 훼손하지 않는지 회귀 테스트로 확인







