2014-02-14 187 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一样工作,只需添加你需要通过参数注入的东西。

看到它为什么正常代码正常注射vs $injector。仅仅为每个依赖项编写参数要快得多,而且必须手动注入所有这些参数。