2014-02-14 182 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。僅僅爲每個依賴項編寫參數要快得多,而且必須手動注入所有這些參數。