मैं मूल jQuery AJAX अनुरोधों के लिए कुछ बीडीडी चश्मा लिखने के लिए जैस्मीन का उपयोग करने की कोशिश कर रहा हूं। मैं वर्तमान में स्टैंडअलोन मोड में जैस्मीन का उपयोग कर रहा हूं (यानी SpecRunner.html
के माध्यम से)। मैंने jquery और अन्य .js फ़ाइलों को लोड करने के लिए SpecRunner को कॉन्फ़िगर किया है। कोई विचार क्यों निम्नलिखित काम नहीं करता है? has_returned सच नहीं बनता है, यहां तक कि "yuppi!" सोचा अलर्ट ठीक दिखाता है।मैं जैस्मीन के साथ jQuery AJAX घटनाओं को कैसे सत्यापित करूं?
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 परीक्षण से संबंधित ब्लॉग/सामग्री के लिए कोई संकेतक बहुत सराहना की जाएगी।
धन्यवाद @ jasminebdd, जैस्मीन-अजैक्स प्रोजेक्ट मेरे जेएस कोड का परीक्षण करने के लिए जाने के तरीके की तरह दिखता है। लेकिन क्या होगा यदि मैं सर्वर के वास्तविक अनुरोधों के साथ परीक्षण करना चाहता था, उदा। कनेक्टिविटी/एकीकरण परीक्षण के लिए? – mnacos
@mnacos jasmine-ajax अधिकतर यूनिट परीक्षण के लिए उपयोगी होता है, जिसमें आप विशेष रूप से सर्वर से कॉल से बचना चाहते हैं। यदि आप एकीकरण परीक्षण कर रहे हैं, तो संभवतः यह नहीं है कि आप क्या चाहते हैं और इसे एक अलग परीक्षण रणनीति के रूप में डिजाइन किया जाना चाहिए। –