더북(TheBook)

역자의 노트 | 역자는 필자가 말하는 ‘테스트는 분리된 환경에서 독립적으로 실행되어야 한다’는 의견에 십분 공감하면서도 테스트 코드의 모든 부분을 공통 로직으로 분리하는 것을 선호하지 않는 편이다. 중복되는 코드를 재사용 가능한 코드로 분리하는 것은 프로그래머라면 누구나 하고 싶어 하는 작업이다. 여러분도 공감하겠지만, 우리에게는 일종의 직업적 본능이다. 하지만 테스트 코드에 한해서는 모든 로직을 공통화해 버리면 오히려 코드 결합도가 과도하게 높아지고 유연성이 떨어져 추후에 유지 보수해야 할 수도 있다. 테스트 수정보다 공통 로직을 사용하는 다른 코드에서 어떤 영향이 있을지 살펴보아야 하는 배보다 배꼽이 더 커지는 상황을 피하기 위함인 것이다. 물론 이는 개인적인 선호도 영역이며, 역자는 이러한 선호도와 생각들을 ‘테스트 철학’이라고 부른다.

하지만 이러한 철학이 단점이 없는 것은 아니다. 로직을 공통화하지 않는 만큼 코드 중복을 어느 정도 허용하겠다는 의미다. 여러분이 테스트에 익숙하지 않고 이 책에서 처음 테스트를 접하는 입장이라면, 역자 의견 때문에 다소 혼란스러울 수도 있을 것이다. 걱정하지 말고 이 책에서 소개하는 방법을 먼저 충실히 따르길 바란다. 그렇게 따라가면서 테스트 코드도 많이 작성해 보고 고민하는 시간이 늘어나면 자연스럽게 여러분 자신만의 테스트 철학이 자리 잡을 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.