/tdd-study

Primary LanguageJava

테스트 주도 개발 시작하기

최범균 저

  • JUnit 5를 이용한 테스트 주도 개발
  • 테스트 작성과 설계를 위한 대역
  • 테스트 가능한 설계 방법
  • 유지보수하기 좋은 테스트 작성

Chap 02 TDD 시작

TDD 흐름

  1. 기능을 검증하는 테스트를 먼저 작성
  2. 테스트를 통과하지 못하면 테스트를 통과할 만큼만 코드를 작성
  3. 테스트 통과 후 리팩토링을 통해 코드 개선
  4. 리팩토링 수행 후 다시 테스트를 실행해 검증
  5. 위 과정을 반복하면서 점진적으로 기능을 완성

지속적인 코드 정리

  • 테스트 코드가 있으면 과감한 리팩토링이 가능하다.
  • TDD는 개발 과정에서 지속적으로 코드 정리를 하므로 좋은 코드 품질을 유지할 수 있다.

빠른 피드백

  • TDD는 새로운 코드를 추가하거나 기존 코드를 수정하면 테스트를 통해 작성된 코드가 올바른지 검증이 가능하다.
  • 이를 통해 잘못된 코드가 배포되는 것을 방지한다.

Chap 03 테스트 코드 작성 순서

  • 구현하기 쉬운 겨우부터 시작한다.
  • null과 같은 예외 상황을 먼저 테스트 한다.
  • 완급 조절
    1. 정해진 값을 리턴
    2. 값 비교를 이용해서 정해진 값을 리턴
    3. 다양한 테스트를 추가하면서 구현을 일반화
  • 지속적인 리팩토링
    • 상수를 변수로 바꾸거나 변수의 이름을 변경하는 작은 리팩토링은 발견하는 바로 실행한다.
    • 메서드 추출과 같이 메서드의 구조에 영향을 주는 리팩토링은 큰 틀에서 구현의 흐름이 눈에 들어오기 시작한 뒤에 진행한다.