
테스트 코드도 계속 관리해야 하는 코드다. 릴리즈 빌드에 포함이 안 된다고 해서 악취가 진동하게 놔뒀다가는 하나만 고쳐도 엄청나게 많은 테스트 코드가 깨지는 등 감당을 못하게 된다. 좋자고 하는 건데, 테스트 코드가 오히려 병목이 될 수도 있다. ‘Invoice를 테스트하려니깐 Customer를 만들어야 하고 이걸 만들려니 Address가 필요하고 또 이걸 만들려니 City가 필요하다. 게다가 지금 테스트하고 싶은 코드는 Customer와 관계가 없다. 어휴~ 테스트하려는 객체를 생성하려다 진이 다 빠지겠다.’ 이런 문제를 한 사람만 겪은 것도 아니고 또한 해결책을 찾지 못한 것도 아니다. 그러면? 당연히 패턴이 나올 수 있다.
이 책은 프로젝트에 테스트 코드가 있는 프로그래머에게 제일 도움이 될 것 같다. 아니면 나처럼 아직 프로젝트에 테스트 코드가 없지만 ‘꼭’ 넣을 예정이고 다른 사람이 겪은 시행착오를 줄이고 싶은 프로그래머에게도 도움이 된다. 레거시 코드에 유닛 테스트를 넣는 방법은 설명하지 않는데, 그런 경우엔 Working Effectively With Legacy Code 책에서 많은 도움을 얻을 수 있다. 책에서도 무지 추천함.
이 책이 테스트 코드에 쓰는 패턴 용어를 확실하게 교통정리를 한다는 목표가 있기 때문인가? 저자가 이름을 명확히 정의하는 게 마음에 든다. 완전 용어덕후. 이름을 왜 이렇게 지었는지도 설명하고 mock, fake, stub, dummy와 같이 막 혼용해서 쓰이고 있는 용어도 교통정리를 확실하게 해준다. 나도 저런 용어를 보면 정말 헷갈렸는데, 나만 그런 게 아니라고 따뜻한 형님처럼 얘기하는 센스도 잊지 않았다.
지금은 테스트 코드를 넣기 전. 한창 진행하고 있을 때, 이 책을 다시 본다면 느낌이 많이 다르겠지?


