xUnit 테스트 패턴 (제라드 메스자로스, 2010) 독후감

1 minute read

테스트 코드도 계속 관리해야 하는 코드다. 릴리즈 빌드에 포함이 안 된다고 해서 악취가 진동하게 놔뒀다가는 하나만 고쳐도 엄청나게 많은 테스트 코드가 깨지는 등 감당을 못하게 된다. 좋자고 하는 건데, 테스트 코드가 오히려 병목이 될 수도 있다. ’Invoice를 테스트하려니깐 Customer를 만들어야 하고 이걸 만들려니 Address가 필요하고 또 이걸 만들려니 City가 필요하다. 게다가 지금 테스트하고 싶은 코드는 Customer와 관계가 없다. 어휴~ 테스트하려는 객체를 생성하려다 진이 다 빠지겠다.’ 이런 문제를 한 사람만 겪은 것도 아니고 또한 해결책을 찾지 못한 것도 아니다. 그러면? 당연히 패턴이 나올 수 있다.

이 책은 프로젝트에 테스트 코드가 있는 프로그래머에게 제일 도움이 될 것 같다. 아니면 나처럼 아직 프로젝트에 테스트 코드가 없지만 ’꼭’ 넣을 예정이고 다른 사람이 겪은 시행착오를 줄이고 싶은 프로그래머에게도 도움이 된다. 레거시 코드에 유닛 테스트를 넣는 방법은 설명하지 않는데, 그런 경우엔 <Working Effectively With Legacy Code> 책에서 많은 도움을 얻을 수 있다. 책에서도 무지 추천함.

이 책이 테스트 코드에 쓰는 패턴 용어를 확실하게 교통정리를 한다는 목표가 있기 때문인가? 저자가 이름을 명확히 정의하는 게 마음에 든다. 완전 용어덕후. 이름을 왜 이렇게 지었는지도 설명하고 mock, fake, stub, dummy와 같이 막 혼용해서 쓰이고 있는 용어도 교통정리를 확실하게 해준다. 나도 저런 용어를 보면 정말 헷갈렸는데, 나만 그런 게 아니라고 따뜻한 형님처럼 얘기하는 센스도 잊지 않았다.

지금은 테스트 코드를 넣기 전. 한창 진행하고 있을 때, 이 책을 다시 본다면 느낌이 많이 다르겠지?

Update <2017-08-27 Sun> 표지 사진 교체