关于node.js:使用Mocha测试javascript – 如何使用console.log来调试测试?

Testing javascript with Mocha - how can I use console.log to debug a test?

我正在使用javascript测试运行程序"mocha"。

我有一个测试失败了,所以我将使用console.log对其进行调试。

但是当测试运行时,没有输出(只有来自mocha的测试结果)。看来摩卡已经捕获并抑制了我的console.log输出!

我怎样才能让摩卡展示我的输出?(对于失败的测试)?

编辑:

非常抱歉!-console.log在测试期间工作!我一定是希望它能抑制输出,但我没有正确地检查自己的代码。感谢您的回复。所以…有人说…也许抑制通过的测试的输出真的会更好?隐马尔可夫模型...

有一个相关的说明:我想使用console.log,因为我在尝试让Eclipse调试器连接到node.js时遇到了很多问题。

我是唯一一个发现这个棘手的人吗?你们怎么调试node.js?使用调试器还是使用console.log语句?


你在用什么摩卡咖啡?

也许这与使用报告程序(-r)或UI(-ui)有关?

1
console.log(msg);

在我的测试运行期间工作得很好,尽管有时会混合在一点糊状物中。可能是由于测试运行的异步性质。

以下是我使用的选项(mocha.opts):

1
2
3
--require should
-R spec
--ui bdd

嗯。刚测试过没有任何摩卡OPT和console.log仍然有效。


如果您正在测试异步代码,则需要确保将done()放入该异步代码的回调中。我在测试对RESTAPI的HTTP请求时遇到了这个问题。


您可能还将console.log放在了一个失败且未被捕获的期望之后,因此您的日志行永远不会被执行。