我一直在使用两种方法将依赖项注入单元测试中,我想知道区别是什么,如果一种方法更好,最终结果是相同的。下面的两个片段都输出相同的'calendarSvc'服务对象。
beforeEach(inject(function($injector) {
console.log(1, $injector.get('calendarSvc'));
}));
beforeEach(inject(function(calendarSvc) {
console.log(2, calendarSvc);
}));
答案 0 :(得分:2)
如果我没有弄错的话,inject
使用$injector
来完成这项工作,所以最后也是如此。
inject
的优点是更直观,更容易并且编写的代码更少。它的工作方式与普通角度DI一样,只需添加通过参数注入的内容即可。
请参阅正常代码中正常注射与$injector
的原因。只需手动注入所有依赖项,就可以快速编写每个依赖项的参数。