Tôi đang cố gắng sử dụng Jasmine để viết một số thông số kỹ thuật BDD cho các yêu cầu jQuery AJAX cơ bản. Tôi hiện đang sử dụng Jasmine ở chế độ độc lập (tức là thông qua SpecRunner.html). Tôi đã định cấu hình SpecRunner để tải jquery và các tệp .js khác. Bất kỳ ý tưởng tại sao sau đây không hoạt động? has_returned không trở thành sự thật, thậm chí nghĩ rằng "yuppi!" cảnh báo hiển thị tốt.
describe("A jQuery ajax request should be able to fetch...", function() {
  it("an XML file from the filesystem", function() {
    $.ajax_get_xml_request = { has_returned : false };  
    // initiating the AJAX request
    $.ajax({ type: "GET", url: "addressbook_files/addressbookxml.xml", dataType: "xml",
             success: function(xml) { alert("yuppi!"); $.ajax_get_xml_request.has_returned = true; } }); 
    // waiting for has_returned to become true (timeout: 3s)
    waitsFor(function() { $.ajax_get_xml_request.has_returned; }, "the JQuery AJAX GET to return", 3000);
    // TODO: other tests might check size of XML file, whether it is valid XML
    expect($.ajax_get_xml_request.has_returned).toEqual(true);
  }); 
});
Làm cách nào để kiểm tra xem cuộc gọi lại đã được gọi chưa? Bất kỳ con trỏ nào đến blog / tài liệu liên quan đến thử nghiệm jQuery không đồng bộ với Jasmine sẽ được đánh giá rất cao.