Sto tentando di implementare un test (1) per questo modulo (2).
Il mio scopo è verificare se la raccolta viene recuperata quando viene attivato un particolare evento.
Come potete vedere dal mio commento in (2) ottengo il messaggio Error: Expected a spy, but got Function.
Il modulo funziona ma il test fallisce. qualche idea?È prevista una spia, ma ha ottenuto la funzione
(1)
// jasmine test module
describe('When onGivePoints is fired', function() {
beforeEach(function() {
spyOn(this.view.collection, 'restartPolling').andCallThrough();
app.vent.trigger('onGivePoints');
});
it('the board collection should be fetched', function() {
expect(this.view.collection.restartPolling).toHaveBeenCalled();
// Error: Expected a spy, but got Function.
});
});
(2)
// model view module
return Marionette.CompositeView.extend({
initialize: function() {
this.collection = new UserBoardCollection();
this.collection.startPolling();
app.vent.on('onGivePoints', this.collection.restartPolling);
},
// other code
});
non c'è abbastanza codice per vedere cosa sta succedendo. per favore includi più che solo le singole funzioni - includi la definizione dell'oggetto a cui appartengono le funzioni e il codice che istanzia gli oggetti, almeno. –
@DerickBailey grazie per il tuo tempo. Ho aggiornato la mia domanda con il codice di modalità. –
Io uso QUnit piuttosto che Jasmine, ma la tua chiamata ad app.vent.trigger non dovrebbe essere nel metodo "it" piuttosto che prima di Each? – codemonkey