如何使用 Jasmine 验证 jQuery AJAX 事件?
2022-08-30 05:23:47
我正在尝试使用Jasmine为基本的jQuery AJAX请求编写一些BDD规范。我目前正在以独立模式使用茉莉花(即通过)。我已经配置了SpecRunner来加载jquery和其他.js文件。任何想法为什么以下内容不起作用?has_returned不成真,甚至认为“yuppi!”警报显示正常。SpecRunner.html
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);
});
});
如何测试是否已调用回调?任何指向与使用茉莉花测试异步jQuery相关的博客/材料的指针将不胜感激。