2014-04-28 17 views
7

Tôi đã thử viết một thông số cho phép các cuộc gọi Ajax được mô phỏng. Trường hợp kiểm tra hoạt động hoàn toàn tốt trên các trình duyệt như Chrome và Firefox. Nhưng tôi đang đối mặt với một số vấn đề khi tôi chạy trường hợp thử nghiệm trên IE (phiên bản 9,10). Vấn đề này phát sinh khi các cuộc gọi Ajax bình thường được thực hiện bằng cách sử dụng jQuery Ajax.Các cuộc gọi nhái ajax của Jasmine không hoạt động trong IE

tôi nhận được một lỗi trong IE như sau:

TypeError: Unable to get value of the property 'response': object is null or undefined. 

Các trường hợp thử nghiệm mà tôi đã viết như sau

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'); 
}); 

}); 

Bất kỳ giúp đỡ về vấn đề này được đánh giá cao. Cảm ơn bạn trước!

+0

Ông có thể cung cấp một phiên bản jsfiddle đó là Runnable trong chrome và không cho biết phiên bản của ví dụ? –

Trả lời

0

Bạn đang sử dụng hoa nhài-ajax? Đã có một vấn đề được nêu ra về điều này trên repo github dường như đã được cố định bởi một yêu cầu kéo gần đây.

IE Issue jasmine-ajax

+0

Tôi nghĩ rằng vấn đề đã được nâng lên bởi hổ :) – Rawling

Các vấn đề liên quan