2012-09-24 5 views
25

Ich benutze Chutzpah, um meine JavaScript Unit Tests auszuführen.Wie debugere ich mein JavaScript, das von Chutzpah/PhantomJS ausgeführt wird

Ich Referenzpfade zu meinen Quelldateien und unten haben eine Reihe von Tests. Text Explorer in Visual Studio listet meine Tests auf und ich kann sie direkt von der IDE ausführen, so scheint alles korrekt zu funktionieren.

Allerdings würde ich gerne in den Quellcode gehen, der ausgeführt wird, wenn meine Tests ausgeführt werden.

Ist das möglich?

Antwort

36

Aktualisierung: Die Version 4.1.0 von Chutzpah fügt VS debugging integriert hinzu.

enter image description here


Dies ist derzeit nicht möglich Chutzpah verwenden. Das Beste, was Sie tun können, ist die Installation der context menu extension, die eine "Open In Browser" -Rechteklick-Option hinzufügen wird. Dann können Sie das integrierte Debugging-Tool des Browsers verwenden, um durch den Code zu gehen.

Ich würde gerne eine integrierte Möglichkeit hinzufügen, in das VS-Debugging-System zu stecken, aber habe noch nicht herausgefunden, wie man das macht.

+2

Das ist für mich gearbeitet, Chrome verwenden. Ich habe einen Haltepunkt gesetzt und dann einen Browser aktualisiert. Um den TS direkt (anstelle des generierten Javascript) zu debuggen, aktivieren Sie die Funktion "Quellkarten" in den Chrome-Dev-Tools-Einstellungen (Zahnradsymbol in der unteren rechten Ecke). –

+0

Hat sich diese Situation seitdem verändert? Haben Sie es geschafft, in das Debugging von Visual Studio zu integrieren? – julealgon

+1

Das Kontextmenü-Plug-in kann nicht im Browser geladen werden, wenn der Projektpfad Leerzeichen enthält, z. "... \ Visual Studio 2013 \ Project \ ..." –

0

Vielleicht könnten Sie das in der richtigen Richtung:

machte ich einen schnellen und schmutzige Screenshot-Grabber für CasperJS captureBase64 mit (‚png‘)

Es entsendet das Bild in den empfangenden Server, die dann sendet es über socket.io an den Browser, der es als Inline-Bild anzeigt.

Der Quellcode ist auf Github verfügbar:

https://github.com/maciejjankowski/flaming-octo-puss

Ich bin nicht sicher, wie kompatibel mit PhantomJS, aber CasperJS funktioniert einwandfrei, so wenn Chuzpe ist PhantomJS gibt es eine Chance verwenden könnten Sie machen dieses Konzept funktioniert.

Sie müssen dies zu jedem Schritt hinzuzufügen oder als onStepComplete Handler gesetzt:

this.evaluate(function(img){ 
    __utils__.sendAJAX("http://localhost:8001/", 'POST', {'img' : img }, false);  
    }, 
    {'img' : this.captureBase64('png')} 
);