1
MyService
의 객체를 myMethod
에 삽입하는 것이 더 좋고 더 관용적이므로 MyService
의 가짜 버전을 테스트 용으로 주입 할 수 있습니까? 또는 나는 무엇인가 놓치고 있냐?관용구 자바 스크립트 의존성 그래프
var myObject = {
myMethod: function() {
var myService = new MyService();
return myService.doSomething();
}
}
"인터페이스"로 'MyService'의 프로토 타입이 '서비스'로 설정되었다는 것을 의미하는 것으로 추정됩니까? JS에서 메소드가 동적으로 변경 될 수 있다는 점을 감안할 때,이 방법의 장점은 내 테스트에서'doSomething'을 단순히 재 정의하는 것입니다. – Ben
정확합니다. 성능 향상이 없습니다. 독자가 계약 (인터페이스)을 이해하고 구현 내부의 논리를 따르도록 허용함으로써 프로그램을 더 읽기 쉽게 만듭니다. –
오케이. 당신의 도움을 주셔서 감사합니다. – Ben