E2E는 토이 프로젝트 때 해봤는데,
JEST를 실습으로 직접 해보면서 어떻게 적용할 수 있을지 배워보았다.
전혀 어떻게 해야하는지도 모르겠지만, 그래도 AI가 있으니까!
CI/CD는 원래 관심있던 DevOps 부분이라 쉬웠던 느낌.
테스트의 종류 : E2E Test < Integration Test < Unit Test
Unit Test (단위 테스트): Cypress , Playwright
- 가장 작은 단위의 테스트
- 개별 함수, 메소드, 클래스 등 코드의 최소 단위를 테스트
- 다른 컴포넌트와의 의존성 없이 독립적으로 수행
- 빠르고 간단하며, 버그를 조기에 발견하는 데 도움
Integration Test (통합 테스트):
- 여러 단위를 결합하여 테스트
- 컴포넌트 간의 상호작용과 인터페이스를 검증
- 데이터베이스, 파일 시스템 등 외부 의존성을 포함할 수 있음
- Unit Test보다 더 넓은 범위의 기능을 테스트
E2E Test (End-to-End 테스트):
- 가장 큰 규모의 테스트
- 실제 사용자 시나리오를 시뮬레이션하여 전체 시스템을 테스트
- 사용자 인터페이스부터 백엔드 시스템까지 모든 계층을 포함
- 실제 환경과 유사한 조건에서 수행되어 전체 시스템의 동작을 검증
CI/CD
CI (Continuous Integration, 지속적 통합):
- 코드 변경사항을 주기적으로 중앙 저장소에 통합하는 프로세스
- 자동화된 빌드와 테스트를 통해 통합 과정에서 발생할 수 있는 문제를 조기에 발견
- 코드 품질 향상 및 버그 조기 발견에 도움
CD (Continuous Delivery, 지속적 전달):
- 코드 변경사항을 자동으로 테스트하고 프로덕션 환경으로 릴리스할 준비를 하는 과정
- 수동 승인 후 배포가 이루어짐
- 언제든 안정적으로 배포할 수 있는 상태를 유지
CD (Continuous Deployment, 지속적 배포):
- Continuous Delivery의 한 단계 더 나아간 형태
- 코드 변경사항이 자동으로 프로덕션 환경에 배포됨
- 수동 개입 없이 전체 프로세스가 자동화됨
Mock-up
- 실제 객체나 프로세스를 시뮬레이션하는 가짜 객체
- 복잡한 의존성을 단순화하고, 특정 동작을 시뮬레이션
- 테스트 속도 향상, 의존성 제거, 특정 시나리오 테스트 용이성
- Industry standard API mocking for JavaScript.
자바스크립트를 위한 산업 표준 API 모킹.
- Mock Service Worker is an API mocking library that allows you to write client-agnostic mocks and reuse them across any frameworks, tools, and environments.
MSW는 클라이언트에 구애받지 않는 목(mock)을 작성하고 이를 모든 프레임워크, 도구, 환경에서 재사용할 수 있게 해주는 API 모킹 라이브러리입니다.