ATDD 강의 실습을 위한 지하철 노선도 애플리케이션
- 경로 찾기 기능을 문서화하기 위한 테스트 작성
- 테스트 작성 후 Spring Rest Docs 적용을 통해 문서에 기재할 정보를 설정
- PathSteps 클래스를 활용하여 PathDocumentation 내 코드 중복을 삭제.
- 경로조회 기능 수정
- 요청 항목에 조회 타입 코드 추가 - 거리 or 시간
- 타입 코드가 시간이면, 최소 시간 경로를 조회
- 타입 코드가 경로면, 최단 거리 경로를 조회
- 응답 항목에 소요시간과 거리 추가
- 노선 추가 기능 수정
- 요청 항목에 거리와 소요시간 정보 추가
- 구간 추가 기능 수정
- 요청 항목에 거리와 소요시간 정보 추가
- 인수 테스트 주도 개발 프로세스에 맞춰서 기능 구현 (인수테스트 -> 문서화 -> 기능 구현)
- 인수 조건을 검증하는 인수 테스트 작성
- 인수 테스트를 충족하는 기능 구현
- 인수 조건은 인수 테스트 메서드 상단에 주석으로 작성
- 인수 테스트 이후 기능 구현은 TDD로 진행
- 도메인 레이어 테스트는 필수
- 서비스 레이어 테스트는 선택
- 개발 흐름을 알 수 있도록 작은 단위로 커밋하기
- 경로조회 기능 수정 - 응답에 요금정보 추가
- 10km까지는 기본운임으로 1,250원이다.
- 이용 거리초과 시 추가운임비용을 부과한다.
- 10km초과∼50km까지는 5km마다 100원을 추가한다.
- 50km초과 시 8km마다 100원을 추가한다.
- 인수 테스트 주도 개발 프로세스에 맞춰서 기능 구현 (인수테스트 -> 문서화 -> 기능 구현)
- 인수 조건을 검증하는 인수 테스트 작성
- 인수 테스트를 충족하는 기능 구현
- 인수 조건은 인수 테스트 메서드 상단에 주석으로 작성
- 인수 테스트 이후 기능 구현은 TDD로 진행
- 도메인 레이어 테스트는 필수
- 서비스 레이어 테스트는 선택
- 개발 흐름을 알 수 있도록 작은 단위로 커밋하기
노선별 추가 요금
- 추가 요금이 있는 노선을 이용 할 경우 측정된 요금에 추가
- 경로 중 추가요금이 있는 노선을 환승 하여 이용 할 경우 가장 높은 금액의 추가 요금만 적용
- 로그인 사용자 연령별 요금으로 계산
- 청소년: 운임에서 350원을 공제한 금액의 20%할인
- 어린이: 운임에서 350원을 공제한 금액의 50%할인
- 인수 테스트 주도 개발 프로세스에 맞춰서 기능 구현 (인수테스트 -> 문서화 -> 기능 구현)
- 인수 조건을 검증하는 인수 테스트 작성
- 인수 테스트를 충족하는 기능 구현
- 인수 조건은 인수 테스트 메서드 상단에 주석으로 작성
- 인수 테스트 이후 기능 구현은 TDD로 진행
- 도메인 레이어 테스트는 필수
- 서비스 레이어 테스트는 선택
- 개발 흐름을 알 수 있도록 작은 단위로 커밋하기