이를 위해 애플리케이션의 추상화 역할을 할 클래스를 추출해보자. 이렇게 하면 액터에게 애플리케이션을 추상화한 객체를 전달할 수 있고 액터가 이를 직접 사용할 수 있다.

    icon_joe 조에게 묻는다 이렇게 하면 테스트가 순수해질까?

    애플리케이션을 테스트(또는 사용)할 때 순수하지 않은 함수를 사용하는 것을 피할 수는 없다. 하지만 애플리케이션에 대한 액터의 의존관계를 최대한 명시적으로 만들어, 순수하지 않은 부분을 최소한으로 줄이면서 시스템 경계에 남겨둘 수 있다.

    이렇게 하면 액터와 대부분의 테스트 코드를 순수하게 유지할 수 있고, 다음 장에서 살펴보겠지만 많은 이점을 얻을 수 있을 것이다.

     

    애플리케이션 파사드

    파사드는 객체가 복잡한 시스템의 파사드(외부 정면)나 프록시 역할을 함으로써 복잡한 내부를 숨기고 쉽게 상호작용할 수 있도록 해주는 디자인 패턴이다2. 여기서는 이 패턴을 사용해 기술적인 세부 사항으로 테스트를 복잡하게 만들지 않고도 정보를 추출하고 애플리케이션에 명령을 내리려고 한다.

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