come posso fare unit test per setInterval in ngoninit?
Ho una funzione refresh () che esegue lo scenario dei dati aggiornato, qui quello che sto cercando di ottenere è per ogni minuto che deve aggiornarsi automaticamente senza l'interazione dell'utente, quindi dove sto usando setinterval in ngoninit in modo che possa eseguire per ogni 60 secondi e sto cancellando gli intervalli in ngDestroy ;
Ecco il component.ts
ngOnInit(): any {
this.refresh();
this.interval = setInterval(() => {
if (this.hideLog) {
this.updateWorkflow();
} else {
this.refresh();
}
}, 60000);
}
ngOnDestroy(): void {
this.clearInt();
}
clearInt(): void {
if (this.interval) {
clearInterval(this.interval);
}
}
Come posso aggiungere un test per questo nel mio file spec.ts in modo che il test ngonint descritto debba passare
Errore durante l'esecuzione del mio caso di test:
Errore: 1 timer periodico (i) ancora in coda.
qualcuno può aiutarmi su questo
Risposte
Sto ottenendo un errore di muggito con il codice seguente dopo le mie aspettative per il caso di test 😊✌
Errore: 1 timer periodico (i) ancora in coda
spyOn(window, 'setInterval').and.callThrough();
flush();
flushMicrotasks();
discardPeriodicTasks();