Sembra che tu abbia già già risposto alla tua domanda, ma io espanderò quello che hai menzionato.
Karma è un framework di test in esecuzione che è in gran parte indipendente dal linguaggio del framework di test. Ha un ricco ecosistema di plug-in che ti consente di personalizzare pesantemente come, quando e perché eseguire i test.
Per testare Javascript, abbiamo spesso bisogno di testare contro una incarnazione del DOM. Ci sono numerosi plugin che ti permettono di collegare diversi browser come karma-chrome. Questi plugin eseguono il bootstrap del browser richiesto ed eseguono i test sul browser.
Tuttavia, ci sono momenti in cui si desidera eseguire senza un browser fisico installato nella casella di test di destinazione. è qui che entra in gioco PhantomJS. È un browser headless che può essere eseguito senza essere installato su un computer di destinazione. Non può sostituire il Karma. Se vuoi descriverlo come un "concorrente", sarebbe un concorrente di IE, Firefox, Chrome e Safari.
fonte
2015-12-22 19:23:47
Quindi, se ho bisogno di eseguire i miei test sui browser (ad esempio sui laptop degli sviluppatori), userei solo Karma e quando voglio eseguire i miei test sul mio server CI, utilizzerei Karma + PhantomJS? – Rohan
Dovresti ancora scegliere/targetizzare un browser sui laptop degli sviluppatori. PhantomJS funziona bene, così come Chrome. Tieni presente che se devi eseguire il debug dei test (e probabilmente lo farai), Chrome o un altro browser è molto più semplice. Personalmente eseguo https://github.com/karma-runner/karma-chrome-launcher sul mio computer di sviluppo e https://github.com/karma-runner/karma-phantomjs-launcher sui server Ci. –