2013-09-03 9 views
9

Ähnliche Frage wurde schon vor einiger Zeit gestellt How do you debug Jasmine tests with Resharper? Was dort vorgeschlagen wird funktioniert nicht wirklich für mich (Platz debugger; in Testcode). Jedes Mal, wenn die Tests ausgeführt werden, öffnet sich ein neues Browserfenster und der Thread springt durch den Debugger. Gibt es eine Möglichkeit, es zum Laufen zu bringen? Und gibt es auch eine Möglichkeit, Jasmin-Tests mit Phantom-Runner und Resharper zu debuggen?Debugging Jasmin Tests mit Nachschärfer und Phantom js

Vielen Dank im Voraus

+0

Haben Sie versucht, meine [alternative Lösung] (http://stackoverflow.com/a/17087589/498197), wo Sie das Debuggen im Browser tun. Ich weiß jedoch nicht, wie man mit Phantom debuggt. –

+0

Hi, Torbjörn, ja das klappt wirklich! Sie können diesen Kommentar als Antwort hinzufügen, damit ich es markieren kann) – Voice

Antwort

12

im Browser zu debuggen, den Code zu Ihrer js Testdatei hinzuzufügen.

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

ReSharper nicht informiert, dass der Test abgeschlossen ist, so können wir Debug Stützpunkte im geöffneten Browser (ich benutze Chrom) und F5 die Seite festgelegt.

Beenden Sie die Tests im Nachschärfer-Testfenster, wenn Sie fertig sind.

Edit:
Seit Jasmine 2.0 Sie verwenden müssen:

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

Das ist cool, aber die Antwort ist für Chrome und nicht für PhantomJS – zumalifeguard

+0

Auch wenn die Tests in TypeScript-Dateien sind, erhalten Sie einen Fehler beim Zugriff auf die 'ReSharperReporter' globale Variable. Ein Workaround ist die Verwendung folgender Syntax: 'window ['ReSharperReporter']. Prototype.jasmineDone = function() {};' – zumalifeguard

+0

vielen Dank, ich wünschte, ich hätte diese Monate gefunden, als ich Tage damit verbracht habe herauszufinden, wie ich arbeiten kann es. –

0

Ich habe Debugger; funktionieren, indem IE 11 als Testbrowser in den ReSharper-Optionen festgelegt wird. Die coole Sache ist, dass Sie Ihre Haltepunkte in der Visual Studio-Version des Codes festlegen und durch Visual Studio festlegen und debuggen können. Sie müssen wirklich nicht mit dem Browser interagieren.

1

Jasons Antwort war sehr hilfreich. Aber ich möchte hinzufügen, dass Sie Skript-Debugging in IE aktivieren müssen: Internetoptionen -> Erweitert -> deaktivieren Sie "Skriptdebugging deaktivieren (Internedt Explorer)".
Dann können Sie setzen Debugger in Ihrem js und es wird die "Visual Studio Just-In-Zeit-Debugger" Popup auslösen.

Verwandte Themen