Как проверить события jQuery AJAX с помощью Jasmine?

Я пытаюсь использовать Jasmine для написания некоторых спецификаций BDD для базовых запросов jQuery AJAX. В настоящее время я использую Jasmine в автономном режиме (т.е. через SpecRunner.html ). Я настроил SpecRunner для загрузки jquery и других файлов .js. Есть идеи, почему следующее не работает? has_returned не сбылось, даже подумал "яппи!" предупреждение отображается нормально.

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

});

Как проверить, что обратный вызов был вызван? Мы будем очень благодарны за любые указатели на блоги / материалы, связанные с тестированием async jQuery с помощью Jasmine.

113
задан Parag Tyagi -morpheus- 17 April 2015 в 08:41
поделиться