Open
Conversation
11 tasks
areumH
commented
Aug 28, 2025
Comment on lines
+309
to
+310
|
|
||
| it('반복 시작일이 2025-10-30 이후이고 반복 종료일이 없으면 일정이 하나만 생성된다', async () => { |
Author
There was a problem hiding this comment.
- 종료일을 지정하지 않았을 때 반복 시작일이 10월 30일 이후이면 시작 날짜에 대한 일정 하나만 생성
areumH
commented
Aug 28, 2025
Comment on lines
+502
to
+503
|
|
||
| it('반복 생성된 일정이 기존 일정과 충돌되면 경고가 노출된다', async () => { |
Author
There was a problem hiding this comment.
- 반복 생성된 일정들과 이미 존재하는 일정이 겹칠 때 경고 표시
areumH
commented
Aug 28, 2025
Comment on lines
+407
to
+408
|
|
||
| it('반복 일정 추가 시 반복 유형을 선택하지 않을 경우 토스트가 표시된다', async () => { |
Author
There was a problem hiding this comment.
- 반복 일정을 추가할 때 반복 유형이 선택되지 않았을 경우 폼 유효성 검사
11 tasks
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주차 과제 체크포인트
기본 과제
필수
선택
심화 과제
각 팀원들의 테스트 전략은?
합의된 테스트 전략과 그 이유는 무엇인가요?
합의된 테스트 전략: 테스트 트로피(Trophy Strategy)
1. 애플리케이션 특성에 적합
캘린더 애플리케이션은 일정 생성, 수정, 삭제와 같은 사용자 중심의 기능 플로우가 핵심
복잡한 비즈니스 로직보다는 사용자 시나리오의 원활한 동작이 더 중요
2. 요구사항 변경에 대한 대응력
새로운 일정 추가, 변경, 반복 설정, 삭제 등 요구사항이 지속적으로 변경되는 환경
통합 테스트는 개별 컴포넌트의 변경보다는 전체적인 사용자 플로우의 안정성을 보장
3. 테스트 신뢰성 확보
단위 테스트만으로는 컴포넌트 간 상호작용에서 발생할 수 있는 문제를 놓칠 수 있음
통합 테스트 중심으로 실제 사용자가 경험하는 시나리오를 검증하여 더 높은 신뢰성 확보
통합 테스트 (Integration Tests): 최대 비중 - 사용자 플로우 중심의 E2E 수준 테스트
단위 테스트 (Unit Tests): 중간 비중 - 핵심 로직에 대한 최소한의 테스트
E2E 테스트: 최소 비중 - 주요 사용자 시나리오에 대한 종단간 테스트
추가로 작성된 테스트 코드는 어떤 것들이 있나요?
1. 종료일을 지정하지 않았을 때 반복 시작일이 10월 30일 이후이면 시작 날짜에 대한 일정 하나만 생성 (hooks)
경계값 테스트의 중요성: 10월 30일이라는 특정 날짜 기준의 비즈니스 로직을 검증
예외 상황 처리: 반복 일정 생성 시 발생할 수 있는 특수한 케이스 대응
데이터 무결성 보장: 잘못된 반복 일정 생성으로 인한 데이터 오류 방지
2. 반복 생성된 일정들과 이미 존재하는 일정이 겹칠 때 경고 표시 (integration)
사용자 경험(UX) 개선: 일정 충돌 상황을 사용자에게 명확히 알려 혼란 방지
실제 사용 시나리오 검증: 반복 일정과 기존 일정 간의 상호작용을 통합적으로 테스트
비즈니스 로직 검증: 일정 충돌 감지 및 경고 시스템의 정확한 동작 확인
3. 반복 일정을 추가할 때 반복 유형이 선택되지 않았을 경우 폼 유효성 검사 (integration)
사용자 입력 검증: 필수 입력값 누락 시 적절한 피드백 제공
오류 방지: 불완전한 데이터로 인한 시스템 오류 사전 차단
사용자 가이드: 올바른 입력 방법을 사용자에게 안내하여 사용성 향상
추가된 테스트 코드를 코멘트로 표시했습니다!
과제 셀프회고
기술적 성장
TDD 방식으로 과제를 진행하며 테스트 중심 설계와 상태 관리 로직을 직접 다뤄보면서 반복, 단일 일정의 crud, 겹침 경고 표 등 실제 사용자 흐름에 맞춘 테스트 설계 능력이 향상된 것 같다. 테스트 코드를 먼저 작성하면서, 현재 플로우에서 개선이 필요한 부분이 무엇인지 사용자 경험상 취약한 부분이 무엇인지 더 명확히 파악할 수 있었다.
코드 품질
getRepeatEventList함수 내에서 각 케이스에 맞게 호출되도록 하여 가독성을 높였습니다.학습 효과 분석
과제의 주제가 TDD이기 때문에 실제로
테스트 코드 작성 -> 기능 구현 -> 테스트 통과시키기순으로 과제를 진행했는데, 테스트 코드 자체에 오류가 있는 경우가 있어 결국 테스트 코드를 수정하는 일이 많았다.. 특히 dom 요소를 선택하고 사용자 이벤트를 연결하는 과정이 생각보다 쉽지 않았다. (누락된 label, htmlFor 값 추가 등) 이번 과제를 통해 요소를 정확히 찾아 이벤트를 트리거하는 과정을 거치면서 DOM 조작과 이벤트 시뮬레이션에 대한 이해가 크게 향상되었고, 테스트 코드 작성 시 사용자 행동을 실제와 가깝게 재현하는 방법에 대한 감각도 익힐 수 있었다.과제 피드백
리뷰 받고 싶은 내용
현재 신입 개발자 취업을 준비하고 있는데요. 항해 부트캠프를 통해 배운 것들(spa, 리액트 구현, fsd 아키텍처, 테스트 코드 등)을 이력서나 포트폴리오에 녹여낼 수 있는 방법이 궁금합니다. 특히 테스트 코드같은 경우는 실제 협업에서 활용 빈도나 우선순위가 높지 않다고 하는데, 개인 프로젝트에서 테스트 코드를 작성한 경험이 있는 게 신입 입장에서 큰 장점이 될 수 있을까요??