반응형
[11장] 모든 악의 근원
이 테스트를 지워도 될 정도로 다른 곳에서 동치성 테스트를 충분히 하고 있는가? 다른 동치성 테스트를 한번 보자.
[정리]
-하위 클래스의 속을 들어내는 걸 완료하고, 하위 클래스를 삭제했다.
-기존의 소스 구조에서는 필요했지만, 새로운 구조에서는 필요 없게 된 테스트를 제거했다.
[12장] 드디어, 더하기
가지고 있는 객체가 우리가 원하는 방식으로 동작하지 않을 경우엔 그 객체와 외부 프로토콜이 같으면서 내부 구현은 다른 새로운 객체(imposter, 타인을 사칭하는 사기꾼)를 만들 수 있다.
TDD는 적절한 때에 번뜩이는 통찰을 보장하지 못한다. 그렇지만 확신을 주는 테스트와 조심스럽게 정리된 코드를 통해, 통찰에 대한 준비와 함께 통찰이 번뜩일 때 그걸 적용할 준비를 할 수 있다.
클래스로 만들어도 되겠지만 인터페이스가 더 가볍다.
이제 컴파일이 되고, 바로 실패한다. 만세! 진전이다. 간단히 가짜 구현을 할 수 있다.
다시 초록 막대로 돌아왔고 리팩토링할 준비가 됐다.
[정리]
-큰 테스트를 작은 테스트로 줄여서 발전을 나타낼 수 있도록 했다.
-우리에게 필요한 계산에 대한 가능한 메타포들을 신중히 생각해봤다.
-새 메타포에 기반하여 기존의 테스트를 재작성했다.
-테스트를 빠르게 컴파일했다.
-그리고 테스트를 실행했다.
-진짜 구현을 만들기 위해 필요한 리팩토링을 약간의 전율과 함께 기대했다.
반응형
댓글