프론트엔드
W CARE 서비스 프론트엔드를 TDD로 개발해본 후기
두줄요약
W CARE 프론트엔드의 복잡한 월경 이벤트 판별 로직을 TDD로 개발한 사례를 소개했습니다. 경계값 테스트와 관심사 분리로 신뢰성과 유지보수성을 높였습니다.
문제 상황
- W CARE 프론트엔드에서 월경 이벤트 판별 알고리즘처럼 복잡하고 생소한 도메인 로직을 다뤄야 하는 상황
- 일반 케이스와 예외 케이스가 많아 구현 실수와 사이드 이펙트 가능성이 높은 구조
원인 분석
- 월경 주기, 월경 중, 가임기, PMS 등 이벤트가 서로 겹칠 수 있어 우선순위와 판별 조건이 복잡한 점
- 브라우저 환경의 리액트 컴포넌트보다 순수 알고리즘을 먼저 검증하는 편이 TDD에 더 적합한 점
해결 방법
- 경계값 분석을 포함해 실패하는 테스트를 먼저 작성하고, 테스트를 통과하는 동작 코드를 점진적으로 구현
- 일반케이스체커, 계산기, 프롭스산출기처럼 관심사를 분리해 유닛 테스트 가능한 모듈로 구성
- 검증된 알고리즘 결과를 커스텀 훅과 리액트 컴포넌트에 연결해 화면 렌더링에 활용
