Comment puis-je vérifier l'AJAX de jQuery événements avec Jasmine?

Je suis en train d'utiliser le Jasmin pour écrire quelques BDD spécifications de la base de jQuery AJAX demandes. Je suis actuellement en utilisant Jasmin en mode autonome (c'est à dire par le biais de SpecRunner.html). J'ai configuré le SpecRunner pour charger jquery et autres .js fichiers. Des idées pourquoi la suivante ne fonctionne pas? has_returned ne devient pas vrai, même pensé que les "yuppi!" alerte s'affiche bien.

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

});

Comment puis-je tester que le rappel a été appelé? Les pointeurs vers les blogs/matériel pour l'essai async jQuery avec Jasmine sera grandement apprécié.

InformationsquelleAutor mnacos | 2011-01-11