목록책/테스트 주도 개발 시작하기 (3)
효습
설계는 기능 명세로부터 시작한다기능 명세를 구체화하는 동안 입력과 결과를 도출하고 이렇게 도출한 기능 명세를 코드에 반영한다기능의 이름 , 파라미터 , 리턴 타입 지정 설계 과정을 지원하는 TDD테스트 코드를 만들기 위해서는테스트할 기능을 실행실행 결과를 검증→ 테스트 대상이 되는 클래스와 메서드의 이름을 결정해야한다.→ 메서드를 실행할 때 사용할 인자의 타입과 개수를 결정해야한다. 설계 과정클래스 이름메서드 이름메서드 파라미터실행 결과TDD 자체가 설계는 아니지만 , TDD를 하다 보면 테스트 코드를 작성하는 과정에서 일부 설계를 진행하게 된다. 필요한 만큼 설계하기TDD는 테스트를 통과할 만큼만 코드를 작성한다필요할 것으로 예측해서 미리 코드를 만들지 않는다TDD로 개발하는 코드 비율이 높아질수..
쉬운 경우에서 어려운 경우로 진행예외적인 경우에서 정상인 경우로 진행 구현하기 쉬운 테스트부터 시작하기 예를 들어모든 조건을 충족하는 경우모든 조건을 충족하지 않는 경우 예외 상황을 먼저 테스트해야 하는 이유다양한 예외 상황은 복잡한 if-else 블록을 동반할 때가 많음 → 코드가 복잡해지고 버그 발생 가능성이 높아짐초반에 예외 상황을 먼저 테스트하면 이런 가능성이 줄어듦예외 상황에 따른 if-else 구조가 미리 만들어지기 때문에 많은 코드를 완성한 뒤에 예외 상황을 반영할 때보다 코드 구조가 덜 바뀐다예외 상황을 찾고 테스트에 반영하면 예외 상황을 처리하지 않아 발생하는 버그도 줄어듦 완급 조절정해진 값을 리턴값 비교를 이용해서 정해진 값을 리턴다양한 테스트를 추가하면서 구현을 일반화 테스트할 목록..

TDD란?TDD란 테스트부터 시작한다기능을 검증하는데 테스트 코드를 먼저 작성하고 테스트를 통과시키기 위해 개발을 진행한다먼저 테스트 파일 경로에 클래스를 만들고 완성하면 java 소스 파일 폴더에 넣어도 된다완성되지 않는 코드가 배포되는 것을 방지할 수 있다 TDD 흐름기능을 검증하는 테스트를 먼저 작성한다가장 먼저 통과시킬 기능 먼저 구현함작성한 테스트를 통과하지 못하면 테스트를 통과할 만큼만 코드를 작성한다테스트를 통과한 뒤에는 개선할 코드가 있으면 리팩토링한다.테스트코드 자체도 리팩토링 대상이다리팩토링한 뒤 , 다시 테스트를 실행하여 기존 기능이 망가지지 않았는지 확인한다이 과정을 반복하면서 점진적으로 기능을 완성해나가는 것이다 TDD 사이클을 레드(Red)-그린(Green)-리팩터(Refact..