본문 바로가기
SW

테스트 주도 개발(Test-Driven Development:By Example) - 1부 : 화폐 예제 (7 ~ 8장)

by 라꾸스떼(YR) 2020. 2. 3.
반응형

[7장] 사과와 오렌지 : You can’t compare apples and oranges. 서로 다른 걸 비교할 수 없다.

[정리]

-우릴 괴롭히던 결함을 끄집어내서 테스트에 담아냈다.

-완벽하진 않지만 그럭저럭 봐줄 만한 방법 (getClass( ))으로 테스트를 통과하게 만들었다.

-더 많은 동기가 있기 전에는 더 많은 설계를 도입하지 않기로 했다.

 

[8장] 객체 만들기

한번에 큰 단계를 밟는 것은 TDD를 효과적으로 보여주기에 적절하지 않을 것 같다.

팩토리 메서드(factory method)

모든 테스트가 실행되므로 최소한 뭔가를 깨트리진 않았다.

하위 클래스의 존재를 테스트에서 분리(decoupling)함으로써 어떤 모델 코드에도 영향을 주지 않고 상속 구조를 마음대로 변경할 수 있게 됐다.

 

[정리]

-동일한 메서드(times)의 두 변이형 메서드 서명부를 통일시킴으로써 중복 제거를 향해 한 단계 더 전진했다.

-최소한 메서드 선언부만이라도 공통 상위 클래스(superclass)로 옮겼다.

-팩토리 메서드를 도입하여 테스트 코드에서 콘크리트 하위 클래스의 존재 사실을 분리해냈다.

-하위 클래스가 사라지면 몇몇 테스트는 불필요한 여분의 것이 된다는 것을 인식했다.

반응형

댓글