GithubHelp home page GithubHelp logo

hyeongjukim / atdd-subway-admin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from next-step/atdd-subway-admin

0.0 1.0 0.0 389 KB

우아한테크캠프 pro ATDD 과정 저장소

License: MIT License

JavaScript 9.46% Java 19.86% HTML 0.38% Vue 27.31% SCSS 42.99%

atdd-subway-admin's Introduction

npm node Website GitHub


지하철 노선도 미션

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


🚀 Getting Started

Install

npm 설치

cd frontend
npm install

frontend 디렉토리에서 수행해야 합니다.

Usage

webpack server 구동

npm run dev

application 구동

./gradlew bootRun


🚀 1단계 - 지하철역 인수 테스트 작성

✏️ 기능 요구사항

  • 지하철역 관련 인수 테스트를 완성
    • 지하철역 목록 조회 인수 테스트 작성
    • 지하철역 삭제 인수 테스트 작성

프로그래밍 요구사항

  • 인수 테스트의 재사용성과 가독성, 그리고 빠른 테스트 의도 파악을 위해 인수 테스트를 리팩터링

🚀 2단계 - 지하철 노선 기능

✏️ 기능 요구사항

  • 요구사항 설명에서 제공되는 인수 조건을 기반으로 지하철 노선 관리 기능을 구현하세요.
  • 인수 조건을 검증하는 인수 테스트를 작성하세요.

✏️ 기능 목록

  • 지하철 노선 생성
    • 테스트 코드, 리팩토링
  • 지하철 노선 목록 조회
    • 테스트 코드, 리팩토링
  • 지하철 노선 조회
    • 테스트 코드, 리팩토링
  • 지하철 노선 수정
    • 테스트 코드, 리팩토링
  • 지하철 노선 삭제

✏️ 프로그래밍 요구사항

  • 인수 조건을 검증하는 인수 테스트 작성
    • 인수 테스트를 충족하는 기능 구현
    • 인수 테스트를 서로 격리
  • 인수 테스트의 재사용성과 가독성, 그리고 빠른 테스트 의도 파악을 위해 인수 테스트를 리팩터링

🤝 인수 조건

지하철노선 생성

When 지하철 노선을 생성하면  
Then 지하철 노선 목록 조회 시 생성한 노선을 찾을 수 있다.  

지하철노선 목록 조회

Given 2개의 지하철 노선을 생성하고  
When 지하철 노선 목록을 조회하면  
Then 지하철 노선 목록 조회 시 2개의 노선을 조회할 수 있다.  

지하철노선 조회

Given 지하철 노선을 생성하고  
When 생성한 지하철 노선을 조회하면  
Then 생성한 지하철 노선의 정보를 응답받을 수 있다.  

지하철노선 수정

Given 지하철 노선을 생성하고
When 생성한 지하철 노선을 수정하면
Then 해당 지하철 노선 정보는 수정된다.

지하철노선 삭제

Given 지하철 노선을 생성하고
When 생성한 지하철 노선을 삭제하면
Then 해당 지하철 노선 정보는 삭제된다.

🚀 3단계 - 구간 추가 기능

기능 구현 전에 인수 조건을 만족하는지 검증하는 인수 테스트를 먼저 만들고 기능구현을 해보자.

✏️ 기능 요구사항

  • 요구사항 설명에서 제공되는 요구사항을 기반으로 지하철 구간 추가 기능을 구현
  • 요구사항을 정의한 인수 조건을 조출
  • 인수 조건을 검증하는 인수 테스트를 작성
  • 예외 케이스에 대한 검증 포함

✏️ 기능 목록

  • 역 사이에 새로운 역을 등록할 경우
  • 새로운 역을 상행 종점으로 등록할 경우
  • 새로운 역을 하행 종점으로 등록할 경우
  • 역 사이에 새로운 역을 등록할 경우 기존 역 사이 길이보다 크거나 같으면 등록을 할 수 없음
  • 상행역과 하행역이 이미 노선에 모두 등록되어 있다면 추가할 수 없음
  • 상행역과 하행역 둘 중 하나도 포함되어있지 않으면 추가할 수 없음

✏️ 프로그래밍 요구사항

  • 인수 조건을 검증하는 인수 테스트 작성
    • 인수 테스트를 충족하는 기능 구현
    • 인수 테스트를 서로 격리
  • 인수 테스트의 재사용성과 가독성, 그리고 빠른 테스트 의도 파악을 위해 인수 테스트를 리팩터링

atdd-subway-admin's People

Contributors

boorownie avatar hyeongjukim avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.