Jest 란?
- 테스트 프레임워크로 사용되어 애플리케이션의 다양한 부분을 테스트하는 데 사용
Jest를 통해 테스트 하는 이유
코드 품질 보장
- 코드 동작을 테스트함으로써, 코드의 품질을 보장
버그 방지
- 기능이 변경 및 추가될 때, 테스트를 통해 버그가 발생하지 않도록 방지
- 테스트가 통과하지 않으면 배포 전에 수정이 가능
문서화
- 코드의 사용 방법과 기대 동작을 문서화하는 역할
안정성 향상
- 지속적으로 테스트를 통해 코드의 안정성을 향상
시간 절약
- 수동으로 테스트하는 것보다 자동화된 테스트를 통해 시간을 절약
- CI/CD 파이프라인에 통합하여 코드 변경 시 자동으로 테스트를 실행
커버리지 분석
- Jest는 코드 커버리지 보고서를 제공하여 테스트되지 않은 코드 부분을 파악
- 테스트 커버리지를 높이고, 전체적인 코드 품 질을 개선 가능
개발자 생산성 향상
- 테스트를 통해 빠르게 피드백을 받을 수 있어, 개발자 생산성이 향상
Jest Test 역할
- 유닛 테스트(Unit Tests)
- 개별 함수나 메서드의 동작을 검증
- 단일 함수, 클래스 메서드 또는 모듈의 작은 단위의 동작을 확인
- 통합 테스트(Intergration Tests)
- 여러 Component나 모듈이 함께 작동하는 방식을 테스트
- DB와의 상호작용, API 호출 등을 포함하여 시스템의 여러 부분이 함께 작동하는지 확인
- 엔드 투 엔드 테스트(End-to-End Tests)
- 전체 애플리케이션의 동작을 테스트
- 브라우저 환경에서 사용자 시나리오 테스트 하는데 사용
- 스냅샷 테스트(Snapshot Tests)
- UI Component의 출력을 테스트
- 렌더링된 UI를 스냅샷으로 저장 후, 후속 테스트에서 현재 UI와 스냅샷을 비교하여 변경 사항을 감지