더북(TheBook)

미등록 함수 케이스를 똑 부러지게 처리하도록 get을 고치면(예제 2-18) 테스트는 모두 성공한다.

예제 2-18 이전 테스트를 바로잡은 코드

소스 파일 2장\DI\DiContainer_03b.js

DiContainer.prototype.get = function(name) {
var registration = this.registrations[name];
if (registration === undefined) {
  return undefined;
}
return registration.func();
};

이제 get은 자신이 반환하는 객체에 의존성을 제공할 수 있다. 예제 2-19는 1개의 메인 객체와 2개의 의존성을 등록하는 테스트로, 메인 객체는 두 의존성의 반환값을 합한 값을 반환한다.

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