2jigoo / BookStudy-StartTdd

'테스트 주도 개발 시작하기' 스터디
2 stars 0 forks source link

[1주차-2] TDD 시작 (2/2) - 2jigoo #7

Closed 2jigoo closed 1 year ago

2jigoo commented 1 year ago

Chapter 2. TDD 시작 (2/2)

스터디 일시 2023.08.10

목표

2jigoo commented 1 year ago

네 번째 테스트: 값이 없는 경우

다섯 번째 테스트: 대문자를 포함하지 않고 나머지 조건을 충족하는 경우

PasswordStrength.NORMAL


여섯 번째 테스트: 길이가 8글자 이상인 조건만 충족하는 경우

PasswordStrength.WEAK


일곱 번째 테스트: 숫자 포함 조건만 충족하는 경우

코드를 정리하고 싶지만, 아직 아이디어가 떠오르지 않는다.
일단 다음 테스트로 넘어가자.


여덟 번째 테스트: 대문자 포함 조건만 충족하는 경우

PasswordStrength.WEAK


코드 정리: meter() 메서드 리팩토링


아홉 번째 테스트: 아무 조건도 충족하지 않는 경우

PasswordStrength.WEAK

  1. 새로운 테스트를 추가하거나 기존 코드를 수정하면 테스트 실행
  2. 실패하면 테스트를 통과시키기 위해 코드 추가


코드 정리: 코드 가독성 개선

테스트에서 메인으로 코드 이동


TDD 흐름

  1. 기능을 검증하는 테스트를 먼저 작성
  2. 테스트를 통과하지 못하면 테스트를 통과할 만큼만 코드를 작성
  3. 테스트를 통과한 후엔 필요 시 리팩토링
  4. 리팩토링 후 다시 테스트를 실행하여 확인
  5. 이 과정을 반복하며 점진적으로 기능을 완성

Red-Green-Refactor
실패 - 통과 - 리팩토링