Sto usando Jasmine per verificare se alcuni oggetti sono stati creati e se i metodi sono stati chiamati su di essi.Spiare un costruttore usando Jasmine
Ho un widget jQuery che crea oggetti di flipcounter e chiama il metodo setValue su di essi. Il codice per flipcounter è qui: https://bitbucket.org/cnanney/apple-style-flip-counter/src/13fd00129a41/js/flipcounter.js
I flipcounters vengono creati utilizzando:
var myFlipCounter = new flipCounter("counter", {inc: 23, pace: 500});
voglio provare che le flipcounters vengono creati e il metodo setValue è chiamato su di loro. Il mio problema è che come faccio a spiare questi oggetti ancor prima che vengano creati? Spio il costruttore e restituisco oggetti falsi? Il codice di esempio sarebbe davvero d'aiuto. Grazie per l'aiuto! :)
Aggiornamento:
Ho provato spiare la flipCounter come questo:
myStub = jasmine.createSpy('myStub');
spyOn(window, 'flipCounter').andReturn(myStub);
//expectation
expect(window.flipCounter).toHaveBeenCalled();
Poi il test per la chiamata setValue da flipCounter:
spyOn(myStub, 'setValue');
//expectation
expect(myStub.setValue).toHaveBeenCalled();
la prima test per l'inizializzazione di flipCounter va bene, ma per testare la chiamata setValue, tutto quello che sto ottenendo è un errore 'setValue() non esiste'. Sto facendo questo nel modo giusto? Grazie!
Qual è la ragione che si desidera 'spia' su di esso? –
Voglio assicurarmi che il flipcounter sia stato creato e che sia impostato il valore corretto. – maru