Quindi, questo è il mio primo progetto in cui sto usando Karma e Jasmine per testare il mio codice angularJS. Generatore angolare Yeoman usato per l'installazione.Eseguendo più di 10 test sul karma utilizzando le cause del gelsomino: "ERRORE: alcuni dei tuoi test hanno ricaricato una pagina intera!"
Non appena ho raggiunto 11 test, ho ricevuto un errore che diceva "Alcuni test hanno eseguito il caricamento di una pagina intera". Non sto facendo alcun test che possa innescare una ricarica.
Scavando più in profondità Ho visto lo stesso problema a cui si fa riferimento su Github. https://github.com/jasmine/jasmine/issues/366 - (FuzzySockets commenti)
Il problema sembra derivare da una riga di codice gelsomino-core https://github.com/jasmine/jasmine/blob/master/lib/jasmine-core/jasmine.js
Per evitare la fuoriuscita della pila, il maximumSpecCallbackDepth
è impostato a 20. E ogni volta currentSpecCallbackDepth
supera questo, ulteriori test vengono eseguiti su un nuovo stack utilizzando la funzione setTimout
.
Questa è la linea che sembra causare problemi e fa scattare l'errore al karma. (L'ho verificato invocando il metodo setTimeout
nel mio test di unità e ha generato lo stesso errore).
Se cambiare il maximumSpecCallbackDepth
a 100, i miei test funzionano bene, e nessun errore sono gettati alla fine
Qualcuno ha visto questo problema e conoscere una correzione? Sto usando le ultime versioni di karma (0.13.15) e gelsomino (2.4.1).
Non ho davvero trastullato troppo con il grunt predefinito o la configurazione di karma fornita con quelle generate da yeoman, tranne che sto utilizzando il launcher di Chrome al posto del phantomJS predefinito, quindi non capisco come tutti altrimenti non sta affrontando lo stesso problema qui.
Tutti i miei test sono eseguiti però –