Можно ли заставить mockjax вызвать $.ajaxPrefilter?
Я только что обнаружил библиотеку mockjax, и она кажется почти идеальной для моих нужд тестирования. Я говорю "почти", потому что есть одна вещь, которую я не могу имитировать: $.ajaxPrefilter
обработчики.
Обычно в jQuery вы можете указать:
$.ajaxPrefilter(function() {
doSomethingOnEveryAjaxCall();
});
а потом всякий раз, когда кто-то использует $.ajax
(или же $.get
, $.post
и т. д.) что doSomethingOnEveryAjaxCall
функция будет вызвана.
Однако, если я сделаю:
$.mockjax({url: '/test', responseText: 'test'});
$.ajax({url: '/test'});
префильтр настраиваю (doSomethingOnEveryAjaxCall
) не вызывается.
Есть ли способ изменить этот код так, чтобы префильтр вызывался даже при запросах / ответах mockjax?
1 ответ
Оказывается, mockjax был способен запускать предварительные фильтры ajax... Я просто забыл указать все необходимые заголовки, чтобы мой предварительный фильтр действительно срабатывал. Как только я попытался использовать правильные заголовки, предварительный фильтр сработал, как и ожидалось!