8000 GitHub - hiblue02/atdd-subway-fare at step03
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

hiblue02/atdd-subway-fare

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

지하철 노선도 미션

ATDD 강의 실습을 위한 지하철 노선도 애플리케이션

실습 - 테스트를 통한 문서화

기능 요구사항

  • 경로 찾기 기능을 문서화하기 위한 테스트 작성
  • 테스트 작성 후 Spring Rest Docs 적용을 통해 문서에 기재할 정보를 설정

프로그래밍 요구사항

  • PathSteps 클래스를 활용하여 PathDocumentation 내 코드 중복을 삭제.

1단계 - 경로 조회 타입 추가

기능 요구사항

  • 경로조회 기능 수정
    • 요청 항목에 조회 타입 코드 추가 - 거리 or 시간
    • 타입 코드가 시간이면, 최소 시간 경로를 조회
    • 타입 코드가 경로면, 최단 거리 경로를 조회
    • 응답 항목에 소요시간과 거리 추가
  • 노선 추가 기능 수정
    • 요청 항목에 거리와 소요시간 정보 추가
  • 구간 추가 기능 수정
    • 요청 항목에 거리와 소요시간 정보 추가

프로그래밍 요구사항

  • 인수 테스트 주도 개발 프로세스에 맞춰서 기능 구현 (인수테스트 -> 문서화 -> 기능 구현)
  • 인수 조건을 검증하는 인수 테스트 작성
  • 인수 테스트를 충족하는 기능 구현
  • 인수 조건은 인수 테스트 메서드 상단에 주석으로 작성
  • 인수 테스트 이후 기능 구현은 TDD로 진행
  • 도메인 레이어 테스트는 필수
  • 서비스 레이어 테스트는 선택
  • 개발 흐름을 알 수 있도록 작은 단위로 커밋하기

2단계 - 요금 조회

기능 요구사항

  • 경로조회 기능 수정 - 응답에 요금정보 추가
    • 10km까지는 기본운임으로 1,250원이다.
    • 이용 거리초과 시 추가운임비용을 부과한다.
      • 10km초과∼50km까지는 5km마다 100원을 추가한다.
      • 50km초과 시 8km마다 100원을 추가한다.

프로그래밍 요구사항

  • 인수 테스트 주도 개발 프로세스에 맞춰서 기능 구현 (인수테스트 -> 문서화 -> 기능 구현)
  • 인수 조건을 검증하는 인수 테스트 작성
  • 인수 테스트를 충족하는 기능 구현
  • 인수 조건은 인수 테스트 메서드 상단에 주석으로 작성
  • 인수 테스트 이후 기능 구현은 TDD로 진행
  • 도메인 레이어 테스트는 필수
  • 서비스 레이어 테스트는 선택
  • 개발 흐름을 알 수 있도록 작은 단위로 커밋하기

3단계 - 요금 조회

기능 요구사항

노선별 추가 요금

  • 추가 요금이 있는 노선을 이용 할 경우 측정된 요금에 추가
    • 경로 중 추가요금이 있는 노선을 환승 하여 이용 할 경우 가장 높은 금액의 추가 요금만 적용
  • 로그인 사용자 연령별 요금으로 계산
    • 청소년: 운임에서 350원을 공제한 금액의 20%할인
    • 어린이: 운임에서 350원을 공제한 금액의 50%할인

프로그래밍 요구사항

  • 인수 테스트 주도 개발 프로세스에 맞춰서 기능 구현 (인수테스트 -> 문서화 -> 기능 구현)
  • 인수 조건을 검증하는 인수 테스트 작성
  • 인수 테스트를 충족하는 기능 구현
  • 인수 조건은 인수 테스트 메서드 상단에 주석으로 작성
  • 인수 테스트 이후 기능 구현은 TDD로 진행
  • 도메인 레이어 테스트는 필수
  • 서비스 레이어 테스트는 선택
  • 개발 흐름을 알 수 있도록 작은 단위로 커밋하기

About

ATDD 과정 저장소 - 테스트 기반 문서화 미션

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%
0