2014-04-28 1 views
7

Я пробовал написать спецификацию, позволяющую обмануть вызовы 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'); 
}); 

}); 

Любая помощь по этому вопросу ценится. Спасибо заранее!

+0

могли бы вы предоставить jsfiddle версию, запускаемым в хроме, а не в указанной версии есть? –

ответ

0

Вы используете жасмин-аякс? Проблема, поднятая об этом в репозитории github, по-видимому, была исправлена ​​недавним запросом на тягу.

IE Issue jasmine-ajax

+0

Я думаю, что вопрос был поднят тигром :) – Rawling

Смежные вопросы