개발공부/테스트 주도 개발(9)
-
(3) 1부 화폐 예제 - 3~6장 동질화, 리팩토링
Github 코드보기 3장 모두를 위한 평등 객체 클래스의 equals 메서드는 Junit의 assertEquals와 동질성을 가집니다. - 객체의 반환값으로 동질성을 비교하지 않으면 테스트는 틀립니다. 4장 프라이버시 객체 인스턴스 필드를 사용하는 코드를 줄이면 필드를 private으로 변경할 수 있습니다. 5장 솔직히 말하자면 큰 테스트를 실행하기 전에 작은 테스트를 공략합니다. 테스트 작성단계 1) 테스트 작성. 2) 컴파일되게 하기. 3) 실패하는지 확인하기 위해 실행. 4) 실행하게 만듦. 5) 중복 제거. 4단계까진 속도가 중요하기 때문에 초록 막대를 만들기 위해 훌륭한 설계의 교리(리팩토링)을 어겨도 됩니다. 하지만 5단계 없인 완성된 테스트 코드가 아닙니다. - 중복이 사라지기 전에는 집에..
2021.03.29 -
(2) 1부 화폐 예제 - 1,2장 Money 객체
Github 코드보기 1장 다중 통화를 지원하는 Money 객체 테스트 코드 작성순서 - 애플리케이션 기능들에 진행해야할 테스트 목록을 만듭니다. - 객체보다 테스트를 먼저 만들어야 합니다. 의존성과 중복 스티브 프리만은 테스트 코드의 문제가 의존성이라 했습니다. 의존성은 코드나 테스트 중 한쪽을 수정하면 다른 한쪽도 수정해야 하는 것을 말합니다. 중복은 문제의 징후이며 해결하려면 객체를 이용하는 것이 좋습니다. 중복을 해결하면 의존성도 제거됩니다. one and only one 코드 수정을 통해 다음 테스트도 통과되게 만드는 가능성을 최대화 하는 것입니다. 스텁 구현 메서드의 서명부와 반환 명령만 적는 식으로 해서 호출하는 테스트 코드가 컴파일 될 수 있도록 껍데기만 만들어두는 것을 뜻합니다. 2장 타..
2021.03.23 -
(1) 들어가는 말
심리적 안정 하지만, 나의 내면에서 벌어지는 일에 관심을 갖고 심리적 안정 상태를 유지하면 엄청난 차이를 경험하게 됩니다. 테스트가 자신의 생각과 다르다고 절대 낙심하지 마세요. 다름을 느끼고 즐기려고 하세요. 빨리 테스트를 통과시키려고, 혹은 프로그램을 빨리 작성하려고 너무 조바심 내지 마세요. 자신감을 가지세요. 이렇게 해서 심리적인 안정 속에서 프로그래밍을 할 수 있게 되면 놀라운 일들을 경험하게 됩니다. - 역자의 글2 중에서 두 가지 법칙 - 어떤 코드건 작성하기 전에 실패하는 자동화된 테스트를 작성하라 - 중복을 제거하라 출처 : 테스트 주도 개발
2021.03.16