私はjavascriptのテストランナー「Mocha」を使用しています。
失敗したテストがあるので、console.log
を使用してデバッグします。
ただし、テストを実行すると、出力はありません(Mochaからのテスト結果のみ)。 Mochaがconsole.log
出力をキャプチャして抑制したようです。
Mochaに出力を表示させるにはどうすればよいですか? (失敗したテストの場合)?
編集:
大変申し訳ありません! — console.log
はテスト中に動作します!私はそれが出力を抑制することを期待していたに違いなく、私は自分のコードを適切にチェックしませんでした。返信いただきありがとうございます。だから...言われている...多分それは実際に合格するテストの出力を抑制するのはいいだろうか?うーん...
関連する注意事項:console.log
を使用したいのは、Eclipseデバッガーをnode.jsに接続しようとすると多くの問題が発生するためです。
このトリッキーなことに気づいたのは私だけですか? node.jsをどのようにデバッグしますか?デバッガーで、またはconsole.log
ステートメントで?
使用しているMochaオプションは何ですか?
レポーター(-R)またはui(-ui)が使用されていることと関係があるのでしょうか?
console.log(msg);
テスト実行中は正常に機能しますが、少し間抜けな場合もあります。おそらくテスト実行の非同期の性質によるものです。
私が使用しているオプション(mocha.opts)は次のとおりです。
--require should
-R spec
--ui bdd
Hmm..mocha.optsなしでテストされたばかりで、console.log
は引き続き機能します。
非同期コードをテストする場合は、done()
をその非同期コードのコールバックに配置する必要があります。 REST APIへのhttpリクエストをテストするときに問題が発生しました。
また、失敗してキャッチされなかった期待値の後にconsole.log
を配置した可能性があるため、ログ行は実行されません。