У меня есть единичный тест Жасмин, который тестирует угловой контроллер, в результате чего функция возвращает обещание и заполняет поле контроллера результатами обещания. Я проверяю это, чтобы проверить, что поле заполняется и вызывается $ rootScope. $ Apply для решения обещания и установки значения.
Когда вызывается $ rootScope. $ Apply, я получаю сообщение об ошибке из-за модуля, пытающегося GET json-файла в его настройке конфигурации.
Карма показывает т ошибка быть связана с $ 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 в своем последнем проекте и не должен был настраивать это таким образом. –