Sto usando MeteorJS con angolare e voglio testare il controller. Il mio controller usa $ reactive (this) .attach ($ scope). Devo controllare, se è stato chiamato questo metodo.Jasmine spySulla funzione e oggetto restituito
creo qualcosa di simile per la spia:
var $reactive = function(ctrl) {
return {
attach:function(scope) {}
}
};
così posso chiamarlo così:
$reactive('aaa').attach('bbb');
Come posso farlo nei test?
spyOn($reactive, 'attach');
Non funziona. Ho ottenuto Errore: il metodo attach() non esiste
E come verificare se è stato chiamato? Questa è una buona chiamata?
expect($reactive).toHaveBeenCalledWith(controller);
E come verificare che la funzione attach sia stata chiamata con args (scope)?
Sembra che '$ reactive' restituisce un oggetto che contiene il metodo attach, giusto? E tu vuoi testare questo metodo 'attach' per essere stato chiamato. – Raulucco
@Raulucco Esattamente – psalkowski