2013-09-03 12 views
9

La domanda simile era già stata posta qualche tempo fa How do you debug Jasmine tests with Resharper? Ciò che è suggerito non funziona davvero per me (inserire debugger; nel codice di test). Ogni volta che vengono eseguiti i test, si apre una nuova finestra del browser e il thread salta attraverso il debugger. C'è un modo per farlo funzionare? E c'è anche un modo per eseguire il debug dei test di gelsomino con Phantom Runner e Resharper?Test di gelsomino di debug con risharper e phantom js

Grazie in anticipo

+0

Hai provato la mia [soluzione alternativa] (http://stackoverflow.com/a/17087589/498197) dove esegui il debug nel browser. Non so come fare il debug con il fantoccio però. –

+0

Ciao, Torbjörn, sì, funziona davvero! È possibile aggiungere questo commento come risposta, quindi è possibile contrassegnarlo) – Voice

risposta

12

per eseguire il debug nel browser, aggiungere il codice qui sotto al tuo file di prova js.

jasmine.getEnv().currentRunner_.finishCallback = function() {}; 

ReSharper non verrà notificato che il test è terminato in modo che possiamo impostare punti di interruzione di debug nel browser aperto (io uso Chrome) e F5 della pagina.

Al termine dei test nella finestra di testrunner di resharper.

Edit:
Dal Jasmine 2.0 è necessario utilizzare:

ReSharperReporter.prototype.jasmineDone = function() { }; 
+1

Questo è interessante, ma la risposta è per chrome e non per PhantomJS – zumalifeguard

+0

Inoltre, se i test sono in file TypeScript, si otterrà un errore durante l'accesso al Variabile globale 'ReSharperReporter'. Un modo per aggirare è usare la sintassi come questa: 'window ['ReSharperReporter']. Prototype.jasmineDone = function() {};' – zumalifeguard

+0

molte grazie, vorrei averlo trovato questo mese fa, quando trascorro giorni a capire come lavorare esso. –

0

ho ottenuto debugger; lavorare impostando IE 11 come browser di prova nelle opzioni di ReSharper. La cosa interessante è che puoi impostare i punti di interruzione nella versione di Visual Studio del codice e impostare e eseguire il debug utilizzando Visual Studio. Non hai davvero bisogno di interagire con il browser.

1

La risposta di Jason è stata davvero utile. Ma vorrei aggiungere che devi abilitare il debug degli script in IE: Opzioni Internet -> Avanzate -> deseleziona 'Disabilita debugging script (Internedt Explorer)'.
Quindi puoi inserire debugger nel tuo js e solleverà il popup 'Visual Studio Debugger just-in-time'.

Problemi correlati