0
我有一個Jasmine單元測試,測試一個角控制器,從而函數返回一個承諾,並用承諾的結果填充控制器字段。我正在測試這個檢查字段是否填充並調用$ rootScope。$ apply來解析promise並設置值。
當$ rootScope。$ apply被調用時,我得到一個錯誤,因爲一個模塊嘗試在其配置設置中獲取json文件。
噶顯示錯誤T爲關係到$ hhtpBackend和來自角mocks.js
Error: Unexpected request: GET /languages/en.json
No more request expected
at $httpBackend (c:\dev\myapp\scrips\angular-mocks.js:1244:17)
at sendReq (c:\dev\myapp\scripts\angular.js)
at serverRequest (c:\dev\myapp\scripts\angular.js)
at Scope.$eval
at Scope.$digest
at Scope.$apply
真棒,停止了我所看到的錯誤,謝謝你。我的承諾沒有解決,但我現在看看那個部分,並將其取出 –
@AnthonyJoanes沒問題。承諾可能很煩人。正確的方法是注入$ q並調用$ q.defer()。然後,您將能夠控制承諾的部分內容,即解決或拒絕 – Katana24
謝謝@ Katana24。我現在正在使用$ q服務並嘲弄我的服務依賴關係來完成所有工作。感謝$ httpBackend提示,我在最後一個項目中使用了chutzpah,並且不需要這樣設置。 –