2014-02-14 4 views
1

Я использовал два способа вложения зависимостей в модульные тесты, и я задавался вопросом, в чем разница, и если один из способов лучше, так как конечный результат тот же. Оба фрагмента ниже отображают один и тот же объект службы «calendarSvc».

beforeEach(inject(function($injector) { 
    console.log(1, $injector.get('calendarSvc')); 
})); 

beforeEach(inject(function(calendarSvc) { 
    console.log(2, calendarSvc); 
})); 

ответ

2

Если я не ошибаюсь, inject использует $injector, чтобы сделать работу, так что это то же самое в конце.

Преимущество inject заключается в том, что это более наглядный, легкий и легкий код для написания. Он работает как обычный угловой DI, просто добавляя то, что вам нужно вводить через params.

Удовлетворительно, потому что нормальная инъекция vs $injector в нормальном коде. Гораздо быстрее написать параметр для каждой зависимости, который должен вручную вводить все из них.

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