Skip to main content

Jest(테스트 코드)

Jest 란?

  • 테스트 프레임워크로 사용되어 애플리케이션의 다양한 부분을 테스트하는 데 사용

Jest를 통해 테스트 하는 이유

  1. 코드 품질 보장
    • 코드 동작을 테스트함으로써, 코드의 품질을 보장
  2. 버그 방지
    • 기능이 변경 및 추가될 때, 테스트를 통해 버그가 발생하지 않도록 방지
    • 테스트가 통과하지 않으면 배포 전에 수정이 가능
  3. 문서화
    • 코드의 사용 방법과 기대 동작을 문서화하는 역할
  4. 안정성 향상
    • 지속적으로 테스트를 통해 코드의 안정성을 향상
  5. 시간 절약
    • 수동으로 테스트하는 것보다 자동화된 테스트를 통해 시간을 절약
    • CI/CD 파이프라인에 통합하여 코드 변경 시 자동으로 테스트를 실행
  6. 커버리지 분석
    • Jest는 코드 커버리지 보고서를 제공하여 테스트되지 않은 코드 부분을 파악
    • 테스트 커버리지를 높이고, 전체적인 코드 품질을 개선 가능
  7. 개발자 생산성 향상
    • 테스트를 통해 빠르게 피드백을 받을 수 있어, 개발자 생산성이 향상

Jest Test 역할

  • 유닛 테스트(Unit Tests)
    • 개별 함수나 메서드의 동작을 검증
    • 단일 함수, 클래스 메서드 또는 모듈의 작은 단위의 동작을 확인
  • 통합 테스트(Intergration Tests)
    • 여러 Component나 모듈이 함께 작동하는 방식을 테스트
    • DB와의 상호작용, API 호출 등을 포함하여 시스템의 여러 부분이 함께 작동하는지 확인
  • 엔드 투 엔드 테스트(End-to-End Tests)
    • 전체 애플리케이션의 동작을 테스트
    • 브라우저 환경에서 사용자 시나리오 테스트 하는데 사용
  • 스냅샷 테스트(Snapshot Tests)
    • UI Component의 출력을 테스트
    • 렌더링된 UI를 스냅샷으로 저장 후, 후속 테스트에서 현재 UI와 스냅샷을 비교하여 변경 사항을 감지