Обратный вызов, зарегистрированный с ответом, не выполняется, когда путь соответствует - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь проверить директиву AngularJS, которая использует шаблон HTML через ссылку. Из-за этого он отправляет запрос http.

Я пытаюсь захватить все запросы на шаблоны, используя httpBackend.whenGET ("...."). Response (функция) для загрузки этого шаблона из локального хранилища.

Дело в том, что функция никогда не вызывается. Я знаю, что он совпадает с путем, потому что он не показывает ошибок, говоря, что вызов не ожидался.

Кстати, я предпочитаю делать это таким образом, а не использовать html2js.

Давайте приведем пример. Если я установил backend.when неправильно (не совпадает путь), я получаю как ошибку

Ошибка: неожиданный запрос: GET resources / js / app / views / search / parts / con-search-filter / template.html Больше не ожидается запрос

Если я выполняю в своем коде (и я знаю, когда вызывается GET):

httpBackend.whenGET(/(.*)template.html/, undefined, undefined, 
["basePath"]).respond(function(method, url, data, headers, params){
     debugger;
     console.log("hello");
     return [200, []];
});

Тогда предыдущая ошибка исчезла. Точка - точка останова (отладчик;) не нажата и "привет" не печатается.

Я импортирую angular-mocks v1.5.11 и, согласно документации, в строке 1255 я смогу это сделать

$httpBackend.whenPATCH(/\/user\/(.+)\/article\/(.+)/, undefined, undefined, ['user', 'article'])
.respond(function(method, url, data, headers, params) {
// for url of '/user/1234/article/567' params is {user: '1234', article: '567'}
});

Я использую jasmine-maven-plugin версии 2.2 с драйвером chrome. Я выполняю цель BDD.

1 Ответ

0 голосов
/ 18 января 2019

Я понял, что это было. Просто запросы находились на рассмотрении, и мне пришлось выполнить httpBackend.flush ().

...