Closed 2jigoo closed 1 year ago
테스트부터 시작하기 기능의 동작을 검증하는 테스트 코드를 먼저 작성 테스트를 통과시키기 위해 개발 진행
모든 조건을 충족하는 테스트
PasswordStrength result = meter.meter("ab12!@AB");
assertEquals(PasswordStrength.STRONG, result);
구현 없이 메소드를 생성 → 테스트 실패
테스트를 통과하도록 코드를 수정
// PasswordStrengthMeter#meter
return PasswordStrength.STRONG
테스트 통과
같은 조건을 만족하는 테스트 추가
→ PasswordStrength.NORMAL
PasswordStrength result = meter.meter("ab12!@A");
assertEquals(PasswordStrength.NORMAL, result);
// PasswordStrengthMeter#meter
if (s.length() < 8) {
return PasswordStrength.NORMAL;
}
return PasswordStrength.STRONG;
→ PasswordStrength.NORMAL
PasswordStrength result = meter.meter("ab!@ABqwer");
assertEquals(PasswordStrength.NORMAL, result);
// PasswordStrengthMeter#meter
if (s.length() < 8) {
return PasswordStrength.NORMAL;
}
boolean containsNumber = isContainingNumber(s); // 구현
if (!containsNumber) {
return PasswordStrength.NORMAL;
}
return PasswordStrength.STRONG;
테스트 코드도 유지보수 대상 중복을 알맞게 제거하거나 의미가 잘 드러나게 수정해야 한다. 오히려 테스트 코드 관리가 어려우지게 된다면 변경을 되돌린다.
meter.meter
와 aasertEquals
중복
1
Chapter 2. TDD 시작 (1/2)
목표
TDD가 무엇인지 경험해보며, 스터디 방향 잡아나가기
학습내용 정리