Lavoro su una grande app Angolare e inizialmente abbiamo fatto molti test usando $ fornire servizi di simulazione. Tuttavia ora abbiamo un sacco di Jasmine Spies nei nostri test al fine di bloccare e spiare i servizi.
cioè
spyOn(myService, 'myMethod').andReturn 'myValue'
Dovremmo davvero essere utilizzando $ prevedono questo o ci sono casi in cui spiare un servizio è l'approccio migliore?
Nei test angolari utilizzano spie per spying on Jquery che vedrei come servizio esterno.
spyOn(jq.prototype, 'on');
$provide sembra essere utilizzato di più per i servizi interni.
module(function($provide){
$provide.provider('$exceptionHandler', $ExceptionHandlerProvider);
});
C'è anche una funzione di Jasmine createSpy ma ora sto pensando che forniscono $ dovrebbe sempre avere la precedenza su quella.
Qualsiasi intuizione o aiuto in questo sarebbe apprezzato.
Questo è utile proveniente da un altro angolo grazie. Per quanto riguarda il mocking di una factory che restituisce una funzione, penso che si possa farlo anche usando createSpy per restituire la funzione. – Asta