2014-04-28 13 views
7

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!

+0

Potrebbe fornire una versione jsfiddle che è eseguibile in cromo e non in detto versione di IE? –

risposta

0

Stai usando jasmine-ajax? C'è stato un problema sollevato su questo sul repository github sembra essere stato risolto da una recente richiesta di pull.

IE Issue jasmine-ajax

+0

Penso che il problema sia stato sollevato dalla tigre :) – Rawling

Problemi correlati