Book/테스트 주도 개발 시작하기

매달 비용을 지불해야 사용할 수 있는 유료 서비스가 있다. 이 서비스는 다음 규칙에 따라 서비스 만료일을 결정한다.서비스를 사용하려면 매달 1만원을 선불로 납부한다. 납부일 기준으로 한 달 뒤가 서비스 만료일이 된다.2개월 이상 요금을 납부할 수 있다.10만원을 납부하면 서비스를 1년 제공한다.납부한 금액 기준으로 서비스 만료일을 계산하는 기능을 TDD로 구현한다면 어떤 순서로 진행해야 할까? 먼저 테스트 클래스 이름을 정하자. 클래스 이름은 ExpiryDateCalculatorTest 로 정했다.public class ExpiryDateCalculatorTest {}쉬운 것부터 테스트이제 테스트 메서드를 추가한다. 테스트를 추가할 때에는 다음 두 가지를 고려해야 한다.구현하기 쉬운 것부터 먼저 테스트예..
예외 상황을 먼저 테스트해야 하는 이유다양한 예외 상황은 복잡한 if-else 블록을 동반한다.후에 예외 상황을 반영하려면 코드의 구조를 뒤집거나 조건문을 중복해서 추가하는 일이 발생한다.미리 예외 상황을 테스트 하면 예외 상황에 따른 if-else 구조가 미리 만들어지므로 코드 구조가 덜 바뀐다.예외 상황을 처리하지 않아 발생하는 버그를 줄여준다.완급 조절한번에 얼마만큼의 코드를 작성 할 것인가?TDD를 처음 접할 때는 다음 단계에 따라 익히는 것이 추천된다.정해진 값을 리턴값 비교를 이용해서 정해진 값을 리턴다영한 테스트를 추가하면서 구현을 일반화예를 들어 암호 강도 측정 기능에서 길이가 8글자 미만이지만 나머지 규칙은 충족하는 상황을 위 단계를 밟아 진행해보자. 먼저 다음 테스트 코드를 추가했다. ..
"테스트 주도 개발 시작하기" - 최범균 저위 책으로 공부하며 배운 것을 정리한 시리즈TDD를 공부하며 1장에서(1장은 포스팅하지 않았다.) 암호 강도 측정 기능을 만들었다. 기능을 구현할 때 규칙은 다음과 같았다.검사할 규칙 3가지길이가 8글자 이상이어야 한다.0부터 9 사이의 숫자를 하나 이상 포함해야 한다.대문자를 하나 이상 포함해야 한다.판별 기준세 규칙을 모두 충족하면 암호 강도는 "강함"이다.두개의 규칙을 충족하면 암호 강도는 "보통"이다.1개 이하의 규칙을 충족하면 암호는 "약함"이다.위 요구사항을 만족하는 테스트 코드를 작성한 순서는 다음과 같았다.모든 규칙을 충족하는 암호 강도는 "강함" 이다.길이만 8글자 미만이고 나머지 규칙은 충족하는 암호의 강도는 "보통" 이다.숫자를 포함하지 않고..
킹효준
'Book/테스트 주도 개발 시작하기' 카테고리의 글 목록