Я обычно создаю мой JavaScript "контроллеры" следующим образом:Dependency Injection в откровенном модуле
var module = (function(){
function init(someService){
someService.doSomething();
}
return {
init: init
};
})();
module.init(SomeService);
Я просто наткнулся на injetion зависимостей в JavaScript (например, JavaScript Dependency Injection).
То, что я хотел бы знать, с точки тестирования зрения, есть какие-либо преимущества использования Injector
в моей ссылке, чтобы придать издевается и такое, по сравнению с простым пропусканием их сделать функцию init
, как я выше.
Чтобы разработать, я мог бы просто передать SomeService
макет, когда я инициализирую свои тесты сегодня. Итак, есть ли смысл использовать Injector
или что-то подобное?
Я согласен с Wouter J, вы уже делаете инъекции зависимостей. Я думаю, что проблема, о которой вы говорите, больше связана с тем, как/какие файлы вы загружаете. Если у вас есть загрузчик модуля (например, requirejs, browserify или webpack ...), вы можете закрепить некоторые модули в тестовом режиме, чтобы они были заменены. Если у вас нет загрузчика модуля, вы можете просто переключить теги скриптов, которые вы добавляете в тестовом режиме. – topheman
Спасибо за разъяснение! Это, очевидно, просто фиктивный пример. Не могли бы вы показать мне, как использовать Инжектор в моем примере? – filur
@filur добавил пример –