mi sto conosco Jasmine (http://pivotal.github.com/jasmine/) ed ha trovato qualcosa di sconcertante:jasmine.js si aspettano() non funziona all'interno di un callback asincrono
it("should be able to send a Ghost Request", function() {
var api = fm.api_wrapper;
api.sendGhostRequest(function(response) {
console.dir('server says: ', response);
});
expect(true).toEqual(false);
});
Non riesce come previsto.
Tuttavia, spostando la aspettano chiamare all'interno della callback:
it("should be able to send a Ghost Request", function() {
var api = fm.api_wrapper;
api.sendGhostRequest(function(response) {
console.dir('server says: ', response);
expect(true).toEqual(false);
});
});
passa qualche modo: O
Dopo debugging: api.sendGhostRequest() fa una richiesta asincrona ajax, e gelsomino precipita passato prima la richiesta è stata completata.
Di qui la domanda:
Come faccio ad avere il gelsomino di aspettare per l'esecuzione ajax prima di accertare il risultato del test?
Con Jasmine 2.0 è appena lo chiamano ("disc", function (done) {... done(); ...}). Solo dicendo, perché questo thread è alto nei risultati di google :) – pkopac