Ich benutze den Javascript-Testläufer "Mocha".
Ich habe einen Test, der fehlschlägt, daher würde ich ihn mit debuggen console.log
.
Wenn die Tests ausgeführt werden, erfolgt jedoch keine Ausgabe (nur die Testergebnisse von Mocha). Es scheint, als hätte Mocha meine console.log
Ausgabe erfasst und unterdrückt !
Wie kann ich Mocha dazu bringen, meine Ausgabe anzuzeigen? (bei für Tests, die fehlschlagen)?
BEARBEITEN:
Riesige Entschuldigung! - console.log
funktioniert während der Tests! Ich muss damit gerechnet haben, dass es die Ausgabe unterdrückt, und ich habe meinen eigenen Code nicht richtig überprüft. Danke für die Antwort. Also ... das heißt ... vielleicht wäre es tatsächlich schön, die Ausgabe für Tests zu unterdrücken, die bestehen? hmm ...
In einem verwandten Hinweis: Ich möchte verwenden, console.log
weil ich große Probleme habe, den Eclipse-Debugger dazu zu bringen, eine Verbindung zu node.js herzustellen.
Bin ich der einzige, der das schwierig findet? Wie debuggt ihr node.js? Mit einem Debugger oder mit console.log
Anweisungen?
quelle
Antworten:
Welche Mokka-Optionen verwenden Sie?
Vielleicht hat es etwas damit zu tun, dass Reporter (-R) oder UI (-ui) verwendet werden?
funktioniert gut während meiner Testläufe, obwohl manchmal etwas doof gemischt. Vermutlich aufgrund der Asynchronität des Testlaufs.
Hier sind die Optionen (mocha.opts), die ich verwende:
Hmm..nur ohne Mokka getestet und
console.log
funktioniert immer noch.quelle
Wenn Sie asynchronen Code testen, müssen Sie sicherstellen, dass er
done()
in den Rückruf dieses asynchronen Codes eingefügt wird. Ich hatte dieses Problem beim Testen von http-Anforderungen an eine REST-API.quelle
Möglicherweise haben Sie Ihre
console.log
nach einer Erwartung gesetzt, die fehlschlägt und nicht erfasst wird, sodass Ihre Protokollzeile nie ausgeführt wird.quelle
Verwenden Sie die Debug- Bibliothek.
Benutze es:
dann renne:
Und das ist es!
quelle