Erwartete einen Spion, bekam aber Funktion
Bin ich versucht zu implementieren eines Tests (1) für dieses Modul (2).
Mein Zweck ist zu prüfen, ob die Sammlung geholt wird, wenn ein bestimmtes Ereignis ausgelöst wird.
Wie Sie sehen können von meinem Kommentar in (2) bekomme ich die Meldung Error: Expected a spy, but got Function.
Das Modul funktioniert, aber der test fehlschlägt. irgendwelche Ideen?
(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
});
InformationsquelleAutor der Frage Lorraine Bernard | 2012-08-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie in der eigentlichen Methode, die in diesem Fall auf dem Prototyp.
Bespitzelung der Prototyp ist ein netter trick, den Sie verwenden können, wenn Sie nicht bekommen kann, um die eigentliche Instanz, die Sie ausspionieren wollen.
InformationsquelleAutor der Antwort antonjs
Ich war auch immer das gleiche Problem aber ich habe es behoben durch die übergabe eines Arguments in function call. Dann schreiben Sie Ihr test-Fall, wie dies in der
it
InformationsquelleAutor der Antwort Tabish
Ich diesen Fehler hatte, denn ich hatte zwei Versionen von sinon geladen, oder vielleicht war ich nicht die Initialisierung der sinon-Jasmin richtig. Wenn ich explizit geladen sinon und dann sinon Jasmin in meine Skillung setup, begann es richtig läuft.
InformationsquelleAutor der Antwort bnolan