使用Mocha测试javascript - 如何使用console.log调试测试?

Nic*_*ins 98 javascript mocha.js node.js

我正在使用javascript test-runner"Mocha".

我有一个失败的测试,所以我想使用它进行调试console.log.

但是当测试运行时,没有输出(只有Mocha的测试结果).似乎摩卡已经捕获并压制了我的console.log输出!

如何让Mocha显示我的输出?(对于失败的测试)?

编辑:

巨大的道歉!- console.log在测试期间工作!我一定期待它抑制输出,我没有正确检查自己的代码.谢谢你的回复.所以...说的......也许真的很好地抑制通过测试的输出?嗯...

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

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

Zac*_*ham 49

您使用的是什么摩卡选项?

也许这与使用的记者(-R)或ui(-ui)有关?

console.log(msg);
Run Code Online (Sandbox Code Playgroud)

在我的测试运行期间工作正常,但有时混合在一点傻.大概是由于测试运行的异步性质.

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

--require should
-R spec
--ui bdd
Run Code Online (Sandbox Code Playgroud)

嗯..刚测试没有任何mocha.opts console.log仍然有效.

  • log()实际上在哪里很多? (4认同)
  • 摩卡-R规格很棒!谢谢 (3认同)

Kev*_* C. 32

如果要测试异步代码,则需要确保将done()异步代码置于回调中.在测试对REST API的http请求时,我遇到了这个问题.


qix*_*qix 18

您可能还会将您console.log的预期失败并且未被捕获,因此您的日志行永远不会被执行.

  • 是的,那是我的问题,谢谢你的建议。我将控制台日志移到失败的 .expect 之前,它们现在显示。 (2认同)