Ich versuche Istanbul zusammen mit Mocha in Node.js zu verwenden, um Komponententests auszuführen und Code-Coverage-Berichte zu generieren. Ich verwende den folgenden Code, um die Komponententests auszuführen und diese Codeberichte zu generieren.Node.js Istanbul/Mocha Unit Tests, die keine Details drucken
istanbul cover _mocha -- -R tap 'test/*.test.js' > test.tap; istanbul report clover
Wenn ich nur Komponententests ohne Code-Coverage-Berichte ausführen möchte, kann ich einfach Folgendes ausführen.
mocha
Beide Methoden funktionieren gut. Aber die erste Methode druckt wirklich nichts auf der Konsole. Ich habe keine Ahnung, welchen Unit-Test es gerade ausführt und wenn alles fertig ist, habe ich keine Ahnung, was genau falsch gelaufen ist. Es bietet keine Form von Fehlerprotokollen oder irgendetwas. Die zweite Methode gibt den Status dieses bestimmten Komponententests nach jedem Test aus, so dass es in der Konsole einfach ist, genau zu sehen, an welchem Komponententest Sie gerade arbeiten. Nachdem alle Tests abgeschlossen sind, erhalten Sie Details und Fehlerprotokolle darüber, warum sie fehlgeschlagen sind kann mit dem Debuggen beginnen. Die erste Methode bietet nichts davon.
Gibt es trotzdem Codeberichte mit Istanbul zu generieren, aber haben sie alle Details auf die Konsole gedruckt, die nur mocha
drucken? Wenn ja, wie kann ich das erreichen? Einige meiner Tests brauchen ein wenig, um zu laufen und zu beenden, also wäre es bei der Erstellung von Code-Coverage-Berichten mit Istanbul schön, genau zu sehen, welcher Test gerade läuft, und mehr Details über den Test in Echtzeit.
Awesome! Vielen Dank. Ändern Sie den Code in 'istanbul cover _mocha - -R tippen Sie auf 'test/*. Test.js' | tee test.tap; Istanbul Report Klee scheint zu funktionieren. Es sieht immer noch nicht so aus, als gebe es so viel Detail wie nur das Laufen von 'Mokka'. Wünschte es ausgegeben an die Konsole im Format 'mocha' tut. Naja. Danke noch einmal. –
Sie müssen nicht den "tap" -Reporter verwenden. Lassen Sie den '-R-tap'-Part einfach weg und Sie erhalten fast die gleiche Ausgabe wie mit dem' mocha'-Befehl. – cartant
Ich benutze einige seltsame Jenkins-Plugins, die ich nicht vollständig verstehe. Ich bin mir ziemlich sicher, dass sie die Tap-Datei benötigen. –