Sto cercando di capire il modo migliore per eseguire il debug dei miei test di unità quando li interrompo. Tipicamente in ambienti di test precedenti potevo semplicemente eseguire i test nel browser e interrompere il test, o il codice e vedere perché il mio test stava fallendo. Non riesco a capire come farlo con Testacular. C'è un modo semplice per eseguire il debug dei test unitari?eseguire il debug nel browser utilizzando testacular (ora karma)
risposta
Includi "browser = ['Chrome'];" nel tuo file karma.config.
All'apertura di Chrome, dovresti vedere "Karma-connected" in alto, con un pulsante "Debug" in alto a destra.
Fare clic su questo pulsante di debug e verrà visualizzata la scheda "Karma DEBUG RUNNER". Quindi, fai semplicemente clic con il pulsante destro del mouse, controlla l'elemento e esegui il debug come faresti normalmente.
Non penso che questo aggiunga nulla a questo thread .. – Lucas
@ Lucas perché no? Questo è il modo in cui Karma intendeva eseguire il debug dei test nel browser. La risposta accettata funziona, ma questa è un'alternativa più diretta e flessibile che viene inserita nel runner. Mi manca il punto della domanda? –
Questa sembra essere la soluzione migliore per me. Se si eseguono i test utilizzando questo collegamento, verranno visualizzati errori nella finestra della console dello strumento di debug e sarà possibile ricaricare come necessario per eseguirli di nuovo. – Allen
Nella console è necessario notificare quale istruzione it() si sta interrompendo e perché. Per esempio:
Todos Add a new todo should add a new todo FAILED
expected todo.length to be 1 but was 0
Tuttavia, potrebbe essere utile per impostare
logLevel = LOG_DEBUG;
nel file karma.conf.js.
questo non mi dà ancora quello che sto cercando. Ad esempio un errore del tipo: 'TypeError: impossibile leggere la proprietà' charAt 'di undefined' è un po 'ambiguo per sapere cosa deve essere corretto. Sto cercando un modo per eseguire il karma in chrome, con i punti di interruzione cromatici in modo da poter vedere il contesto su cosa sta succedendo. – Lucas
In
karma.conf.js
:browsers = ['Chrome'];
nelle specifiche difetto:
it('spec', function() { debugger; // This is like setting a breakpoint // ... });
- Run Karma.
- Vai al browser Chrome appena aperto, apri la console e aggiorna la pagina.
Ora nella scheda sorgente Strumenti di sviluppo di Chrome dovresti vedere l'esecuzione interrotta nel debugger.
Sì! Questo è quello che stavo cercando ... Un modo di breakpoint in modo da poter vedere il contesto. – Lucas
realizzato anche che si può solo impostare il karma di singleRun: true e poi basta andare al browser che si apre e punto di interruzione non nelle prove, o il codice: D – Lucas
Funziona con 'browser = [ 'Firefox'] anche questo –
ho trovato il seguente modo per eseguire il debug che non richiede di apportare modifiche nel codice (come l'aggiunta di dichiarazione "debugger")
Impostare il "singleRun" come falso nel file di configurazione del karma, in modo tale che KARMA stai ascoltando sulla porta di debug e puoi eseguire nuovamente il test nel browser lanciando l'URL indicato di seguito e esegui il debug:
Go to the captured browser and click the "DEBUG" button (or open
http://localhost:9876/debug.html
) and use the web inspector to see what's going on. (You may need to refresh the debug.html page for it to kick in once the web inspector is open.)
- 1. Come si esegue il debug di un'esecuzione di specifiche Jasmine con Testacular (Karma)?
- 2. grunt-karma eseguire il debug delle fonti non ancora identificate
- 3. Come eseguire il debug di PhantomJS quando si esegue Karma
- 4. Come eseguire il debug di Dojo nel browser?
- 5. come eseguire il debug dell'oggetto $ rootScope di angularjs nel browser
- 6. come eseguire il debug dei servizi angolari nel browser
- 7. Cancella console per ogni esecuzione di Testacular/Karma + Jasmine
- 8. non è in grado di eseguire il test dell'unità karma nel browser PhantomJS
- 9. Karma non può acquisire PhantomJS
- 10. Karma: browser idle
- 11. Come testare il codice di backend del nodo con Karma (testacular)
- 12. Eseguire l'applicazione JavaFx nel browser utilizzando Eclipse IDE
- 13. Come eseguire il debug nel codice AutoMapper?
- 14. Debug di eventi DOM personalizzati nel browser
- 15. Ho trovato un bug nel JIT/CLR - ora come faccio a eseguire il debug o riprodurlo?
- 16. Modificare il valore Data/Ora del browser utilizzando l'estensione chrome
- 17. PhantomJS2 si disconnette dopo il timeout: come eseguire il debug?
- 18. Eseguire il debug dell'applicazione GWT in un browser remoto
- 19. Come eseguire il debug remoto con la sincronizzazione del browser?
- 20. Come eseguire il debug del browser Silk sul Kindle Fire?
- 21. Come eseguire il debug del browser Internet PS4
- 22. Come eseguire il debug sul browser interno di Facebook (mobile)?
- 23. Come eseguire il debug in odoo sul browser
- 24. Quali strumenti usi per eseguire il debug di HTML/JS nel tuo browser?
- 25. Come eseguire il debug dell'applicazione Web PHP utilizzando Aptana
- 26. Come utilizzare testacular con il gioco quadro
- 27. Come eseguire il debug di un'applicazione Java utilizzando VIM/GVIM?
- 28. Integrare karma-runner e cucumberjs
- 29. Impossibile eseguire il debug nativo
- 30. Come eseguire il debug del debug?
Hah! Non sono sorpreso che abbiano cambiato il nome. – Joe
Penso che il nome "karma" sia troppo generico e applicato a troppe idee diverse ... dovrebbero tornare a testacular imo :) – Lucas
Una conversazione incredibilmente lunga qui https://github.com/karma-runner/karma/issues/376 Conclusione: la diversità della vita, delle opinioni e dei comportamenti umani si riflette nella comunità dei programmatori. – Joe