Stiamo eseguendo i nostri test dell'unità Jasmine utilizzando una combinazione di Karma e PhantomJS sul server di build. Esecuzione dei test localmente su Chrome funziona bene, l'errore non si verifica lì (che è una domanda diversa). Ecco cosa sta succedendo:PhantomJS si chiude dopo l'errore di sintassi durante l'esecuzione dei test delle unità
A un certo punto l'esecuzione, il test viene eseguito in un errore "indefinito" e si ferma semplicemente:
PhantomJS 1.9.7 (Mac OS X) ERROR
TypeError: 'undefined' is not an object (evaluating 'dropScope.resize')
at /Users/nwinkler/workspaces/.../foo.js:250
PhantomJS 1.9.7 (Mac OS X): Executed 654 of 1221 ERROR (14.512 secs/14.386 secs)
DEBUG [karma]: Run complete, exitting.
DEBUG [launcher]: Disconnecting all browsers
Anche quando si esegue il karma con la bandiera --force
, esce ancora a questo punto .
C'è un modo per avere Karma/PhantomJS continuare a eseguire i test senza fermarsi a questo punto? Perché PhantomJS non può recuperare da questo errore?
Non sono alla ricerca di una soluzione per l'errore undefined
, questo è un argomento diverso: vorrei solo capire perché PhantomJS e Karma escono a questo punto e non continuano con i restanti test unitari.
In attesa di una risposta su anche questo. .. –
Questo succede alla mia suite anche indipendentemente dal browser. Sto provando a testare CKEditor e nei nostri test creiamo degli editor fittizi che causano errori js ma quando si tenta di far valere una qualche modifica dom gli errori js fanno sì che Karma interrompa l'esecuzione del test. Aggiornamento – branchgabriel
: quando la nostra suite supera gli 800-1000+ test questi errori sembrano accumularsi e causare l'arresto. Ho scoperto che cambiare l'ordine di caricamento nell'array dei file ci aiuta, ma ci impedisce di utilizzare globs per includere test. Il Karma dovrebbe fallire solo in caso affermativo, non errori. – branchgabriel