2014-04-28 62 views
7

我試着寫一個規範,允許Ajax調用被嘲笑。測試用例在Chrome和Firefox等瀏覽器上運行得非常好。但是我在IE上運行測試用例時遇到了一些問題(版本9,10)。當使用jQuery Ajax進行正常的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