4
未知的問題這是我的模塊聲明:注入模擬服務轉變爲角測試
(angular.module 'services.date', [])
.service '$date',() ->
# stuff
this
這是我的注入代碼:
describe 'Service: dateService',() ->
dateService = null
beforeEach module 'services.date'
beforeEach inject (_$date_) ->
dateService = _$date_
describe 'Test',() ->
it 'should test stuff',() ->
(expect true).toBe true
如果我運行此代碼,我得到這個錯誤:
Firefox 37.0.0 (Ubuntu 0.0.0) Service: dateService Test should test stuff FAILED
minErr/<@/home/pv/Sites/web/ngbp-coffee/vendor/angular/angular.js:68:12
loadModules/<@/home/pv/Sites/web/ngbp-coffee/vendor/angular/angular.js:4411:15
[email protected]/home/pv/Sites/web/ngbp-coffee/vendor/angular/angular.js:336:11
[email protected]/home/pv/Sites/web/ngbp-coffee/vendor/angular/angular.js:4372:5
[email protected]/home/pv/Sites/web/ngbp-coffee/vendor/angular/angular.js:4297:11
[email protected]/home/pv/Sites/web/ngbp-coffee/vendor/angular-mocks/angular-mocks.js:2172:44
現在這裏有趣的部分:如果我註釋掉注射代碼,測試通過:
describe 'Service: dateService',() ->
# dateService = null
# beforeEach module 'services.date'
# beforeEach inject (_$date_) ->
# dateService = _$date_
describe 'Test',() ->
it 'should test stuff',() ->
(expect true).toBe true
//運行後
Firefox 37.0.0 (Ubuntu 0.0.0): Executed 1 of 1 SUCCESS (0.003 secs/0.002 secs)
Done, without errors.
這是關於我如何注入這是錯誤的服務?請幫忙。
UPDATE
它看起來像$injector
服務不能識別我的其他服務。如果我做
$injector.has '$date'
我得到false
WTF我做錯了?????
我發現在運行單元測試時排序依賴關係非常重要。你確定你在dateService之前包含你的$ date嗎? – loddn
是的,所有依賴項都按順序加載。 – dopatraman
如果您在第一個beforeEach之前留下錯誤,是否有錯誤? –