2014-11-26 4 views
0

У меня есть объект, который должен создать экземпляр объекта внутри себя, чтобы избежать утечки состояния на другие вызовы функции на Factory, из которых будет только один экземпляр.Идиома для тестирования взаимодействия

function Factory() { 
} 

Factory.prototype.create = function() { 
    var builder = new Builder(); //must be newed up 
    //... 
} 

Но это мешает мне делать утверждения о взаимодействии Factory и Builder, потому что я не могу впрыснуть макет строителя.

В JavaScript, что является идиоматическим способом обойти эту проблему и включить тестирование взаимодействия. Это правильный подход?

Factory.prototype.create = function(builder) { 
    var builder = builder || new Builder(); //must be newed up 
    //... 
} 
+0

Что такое «причины повторения»? – Bergi

+0

Я изменил терминологию. Я считаю, что реентерация была неправильным термином. – Ben

+0

Подождите, почему есть только один экземпляр 'Factory'? Почему бы не передать конструктор 'Builder' в' Factory'? – Bergi

ответ

0

Я решил это, введя функцию, которая вернула строитель. Функция может быть тривиально заштрихована.

Смежные вопросы