[4팀 김지혜] Chapter 3-2 프론트엔드 테스트 코드 🦍#40
Open
adds9810 wants to merge 12 commits intohanghae-plus:mainfrom
Open
Conversation
- 반복 일정 생성 로직 테스트 코드 작성 - 반복 일정 API 연동 테스트 코드 작성 - 서버에 반복 일정 CRUD API 엔드포인트 추가"
- 반복 일정 수정/삭제 로직 테스트 통과 - MSW와 fetch 모킹 충돌 해결 - 테스트 환경 안정화 및 중복 파일 정리 - 반복 일정 개별 수정/삭제 및 그룹 관리 기능 구현
- 반복 일정 UI 활성화 및 반복 아이콘 표시 - 반복 일정 API 엔드포인트 추가 - 타입 에러 수정 (any → unknown) - 반복 일정 저장/수정/삭제 로직 구현 - 테스트 환경 설정 롤백
- generateRepeatEvents 함수에 strictMode 옵션 추가 - 윤년 29일: 건너뛰기 방식 (BDD) vs 조정 방식 (TDD) 지원 - 월말 31일: 건너뛰기 방식 (BDD) vs 조정 방식 (TDD) 지원 - 기존 TDD 테스트를 과제 요구사항에 맞게 수정 - BDD 시나리오 테스트 추가
- 반복 일정 관련 UI 요소에 id 속성 추가 (repeat-type-select, repeat-end) - useEventForm 훅의 초기값 불일치 문제 해결 (새 일정 생성 시 isRepeating 기본값 false) - Cypress E2E 테스트를 위한 의존성 추가 - 불필요한 테스트 파일 정리 및 테스트 데이터 정리
- 반복 일정 체크박스 상호작용 테스트 추가 - Select 컴포넌트에 data-testid 속성 추가 - 반복 일정 아이콘에 data-testid="recurring-icon" 추가 - 캘린더 이벤트 클릭 시 편집 모드 활성화 - 반복 일정 삭제 시 그룹 단위 삭제 로직 구현 - Cypress E2E 테스트 코드 정리 및 최적화
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
8주차 과제 체크포인트
기본 과제
필수
심화 과제
각 팀원들의 테스트 전략은?
페어 4팀 테스트 전략 회의실
합의된 테스트 전략과 그 이유는 무엇인가요?
이번 과제에서는 코드의 안정성을 단계별로 튼튼하게 쌓아 올리는 피라미드 테스트 전략을 채택했습니다. TDD로 과제를 진행해야 했기 때문에, 가장 작고 예측 가능한 순수 함수부터 검증하는 단위 테스트로 시작했습니다. 이 튼튼한 기반 위에서, 훅과 컴포넌트 등의 각 부품들이 서로 잘 연결되어 동작하는지 확인하는 통합 테스트를 진행했고, 마지막으로 실제 사용자와 같은 환경에서 전체 시나리오를 검증하는 E2E 테스트로 마무리하며 각 계층이 서로를 보완하도록 설계했습니다.
추가로 작성된 테스트 코드는 어떤 것들이 있나요?
단위 테스트 (Unit Tests):
repeatEventGeneration.spec.ts
반복 일정 생성 시 정확한 날짜 계산이 되는지 확인
repeatEventOperations.spec.ts
반복 일정 수정/삭제가 올바르게 작동하는지 확인
recurringEvents.spec.ts
반복 일정의 모든 주요 기능이 통합적으로 작동하는지 확인
통합 테스트 (Integration Tests):
recurringEvents.integration.spec.tsx
React 컴포넌트들이 함께 연결되어 사용자 입력에 올바르게 반응하는지 확인
E2E 테스트 (End-to-End Tests):
calendar.cy.ts
실제 브라우저에서 캘린더의 모든 주요 기능이 정상 작동하는지 확인
과제 셀프회고
8주차를 달려와서 그런가 유난히 집중하지 못했던 과제입니다. 멍해서 더욱 더 판단이 잘 안 섰기에 더디게 진행했고, 급하게 마무리 했습니다. (항해 끝나고 꼭 다시보자 여기..) 그래도 월요일에 팀원들과 함께 나눴던 테스트의 정의나 범위, 테스트 문항을 정리했던게 많이 도움이 되었던 것 같습니다. (그리고 먼저 테스트 길을 닦아주신 소희님, 감사합니다.ㅜㅜ)
기술적 성장
코드 품질
없습니다.
학습 효과 분석
과제 피드백
리뷰 받고 싶은 내용