Debugging Scherz Testfälle mit node-inspector
Gibt es eine Möglichkeit zur Nutzung von node-inspector zu Debuggen, unit-tests mit Scherz? Es wäre schön, durch den Schritt manchmal zu sehen, warum tests scheitern
Habe ich versucht, ein paar Möglichkeiten
node-debug jest --runInBand
aus der sowie der Inbetriebnahme des ersten Inspektor zB
$ node-inspector
$ node --debug-brk .\node_modules\jest-cli --runInBand
und navigieren Sie dann zu http://127.0.0.1:8080/debug?port=5858
Ich habe festgestellt, dass gelegentlich (bei 1 von 10 oder so mal), der debugger öffnet sich der Scherz src-Dateien und es ist möglich, zu Debuggen. Im Allgemeinen aber werden die scripts im debugger enthalten nur ein "no domain" - Ordner und andere irrelevante Ordner.
Auch die test-Skripte selbst werden nie geladen in den debugger.
Hat jemand versucht, dies vor?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aussieht das Problem ist, dass
jest
ist mitharmonize
, die erzeugt einen child-Prozess, um sicherzustellen, dass die--harmony
- option verwendet wird.harmonize/harmonize.js, Zeilen 30-35
War ich in der Lage, erfolgreich debug Scherz tests (obwohl tests mit JSX-Transformationen sind unglaublich langsam) durch auskommentieren der code, der Scherz ist verwenden, um zu laichen der harmonisierten Prozess.
node_modules/jest-cli/bin/jest.js, Letzte Zeilen der Datei:
Dann können Sie ausführen:
Scherz, stützt sich auf die
--harmony
flag gibt, so dass ist, warum wir hinzufügen müssen, um es wieder mit--nodejs --harmony
. Fügen wir auch--runInBand
so, dass die tests laufen nacheinander, nicht parallel.Dies öffnet den web-debugger, und Sie können "debug" die tests, obwohl es sein kann ziemlich lange um zu dem test, den Sie möchten. Bitte kommentieren wenn jemand eine Möglichkeit kennt, um diese schneller, und ich werde aktualisieren, meine Antwort.
Können Sie fügen Sie diese an Ihre
package.json
machen es einfacher, kick-off:Natürlich, Hauptproblem mit dieser Lösung ist die Bearbeitung der
jest
source-code. Darüber nachdenken werden, wie man einen pull-request zu machen, dieser stick.Erstellt Github Problem Hier: https://github.com/facebook/jest/issues/152
Proxy
, aber ich glaube nicht, dass es bei mir geklappt ohne das Handbuch--harmony
Flagge, aber ich habe nicht bekommen, um zu versuchen, wieder in letzter Zeit. Wenn ich es überprüfen kann, funktioniert ohne die monkey patch, ich werde aktualisieren diese Antwort.Dies ist jetzt offiziell unterstützt mit Knoten >= 6.3.
Zitieren Scherz Dokumentation:
node --debug-brk --inspect ./node_modules/jest/bin/jest -i --env jest-environment-node-debug
debugger
- Anweisung in meine Skillung mit diesem Ansatz.window
ist nicht definiert, wenn mit der Ausführung der testsdebugger;
setup einen Haltepunkt in den code. Ich habe es endlich geschafft um zu überprüfen dass mein axios verlangen ist wieder etwas. Jetzt muss ich schauen weiter...Hier ein Gruntfile.js config automatisieren @Sean die Antwort mit Grunt.
ODER
ODER
Erfordert "node-inspector" (muss Global installiert, um die Knoten-debug-bin im Pfad), "lodash", "Scherz-cli" und "grunt-shell" node Module.
Mithilfe Von Knoten-7.4.0, Scherz 18.x, und die
jest-environment-node-debug
- Paket (von dieser Kommentar), ist es nun möglich, verwenden Sie die chrome-devtools, zum Debuggen Scherz tests:--inspect-brk
didn ' T start the tests (es 'bricht, bevor Benutzer-code beginnt mit" ), aber mit--inspect
es Tat