더북(TheBook)

순수한 함수형 스타일에서 강타입의 객체 지향 스타일로 코드를 전환해 보았다. 코드 설계에 대한 이야기는 8장에서 자세히 다룰 예정이다. 이 장에서는 어떤 설계 방식을 택해도 의존성을 주입하는 방식은 크게 다르지 않다는 점을 보여 주고자 했다. 여러분 팀에는 어느 방식의 코드가 더 적합한지 궁금한가? 정답은 없다. 단지 다른 용어나 각 언어의 기능을 이용하여 구현할 뿐이다.

실제로는 테스트하기 거의 불가능한 것들을 테스트할 수 있는 이유는 의존성을 주입할 수 있기 때문이다. 이는 스텁 덕분에 가능하다. 스텁을 이용하여 가짜 값을 반환하거나 예외를 임의로 만들어 코드가 의존성으로 발생한 오류를 어떻게 처리하는지 확인할 수 있었다. 우리는 의존성 주입으로 테스트를 반복 가능하고 신뢰도가 높으며 일관성 있는 형태로 만들 수 있었다. 테스트 신뢰성은 이 책 3부에서 자세히 다룰 예정이다. 다음 장에서는 모의 객체(mock objects)를 알아보고 모의 객체가 스텁과 어떻게 다른지 살펴볼 것이다.

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