Я пробовал написать спецификацию, позволяющую обмануть вызовы Ajax. Тест-драйв отлично работает в браузерах, таких как Chrome и Firefox. Но я сталкиваюсь с некоторыми проблемами, когда я запускаю тестовый пример IE (версия 9,10). Эта проблема возникает, когда обычные вызовы Ajax выполняются с использованием jQuery Ajax.Jasmine mock ajax звонки, не работающие в IE
Я получаю ошибку в IE следующим образом:
TypeError: Unable to get value of the property 'response': object is null or undefined.
Тестовый пример, который я написал следующее
describe("mocking ajax", function() {
beforeEach(function() {
jasmine.Ajax.install();
});
afterEach(function() {
jasmine.Ajax.uninstall();
});
it("specifying response when you need it", function() {
var doneFn = jasmine.createSpy("success");
var jqxhr = $.ajax({
url :"/any/service",
success : function(data){
doneFn(data);
}
});
expect(doneFn).not.toHaveBeenCalled();
jasmine.Ajax.requests.mostRecent().response({
"status": 200,
"contentType": 'text/plain',
"responseText": 'awesome response'
});
expect(doneFn).toHaveBeenCalledWith('awesome response');
});
});
Любая помощь по этому вопросу ценится. Спасибо заранее!
могли бы вы предоставить jsfiddle версию, запускаемым в хроме, а не в указанной версии есть? –