Ho provato a scrivere una specifica che consente alle chiamate Ajax di essere prese in giro. Il test case funziona perfettamente su browser come Chrome e Firefox. Ma sto affrontando alcuni problemi quando eseguo il test case su IE (versione 9,10). Questo problema si verifica quando vengono eseguite le normali chiamate Ajax utilizzando jQuery Ajax.Jasmine mock chiamate ajax che non funzionano in IE
ottengo un errore in IE come segue:
TypeError: Unable to get value of the property 'response': object is null or undefined.
Il caso di test che ho scritto è la seguente
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');
});
});
Qualsiasi aiuto per quanto riguarda questo problema è apprezzato. Grazie in anticipo!
Potrebbe fornire una versione jsfiddle che è eseguibile in cromo e non in detto versione di IE? –