2012-01-09 30 views
5

我使用node.js和茉莉节点npm模块来运行测试。除非代码产生错误,否则这可以很好地工作。我没有堆栈跟踪。例如,我的测试只有一个输出这样的:没有堆栈跟踪茉莉节点错误

Error: TypeError: Cannot read property 'length' of undefined

没有堆栈跟踪。这使得我发现这些错误非常耗时,我正在寻找茉莉花节点的替代品。

如何让茉莉花节点输出带有错误的完整堆栈跟踪? --verbose命令行标志不会这样做。

+0

如果你可以发布一个与实现副本一起破解的测试代码片段,它可能会很有用。 – 2012-01-10 06:09:59

+0

问题是,有太多的代码我不知道要发布什么代码片段,因为没有堆栈跟踪。 – Jake 2012-01-12 22:32:06

+0

如果你的代码是TDD风格,那么对于任何重要的代码体系都应该有一个健康的测试数量。鉴于此,您可以一次注释测试,直到您清除有问题的代码/测试 – 2012-01-13 17:47:54

回答

4

虽然我没有使用jasmine-node npm,但我遇到过这种错误。根据我的经验,当测试/ impl范围外的异步循环失败时,会报告那些类型的错误...

我们已经做了什么来捕捉所有这种异常,在执行前添加此代码

process.on('uncaughtException',function(e) { 
    sys.log("Caught unhandled exception: " + e); 
    sys.log(" ---> : " + e.stack); 
}); 
7

您可以使用jasmine-node的--captureExceptions选项来输出全局异常的堆栈跟踪。

+1

我发现这不起作用。我通常使用磁带,茉莉花比较混乱。即使Node内置的断言在整体上做得更好。 – Jehan 2015-03-23 20:25:21

+0

这个帮助我。谢谢! :) – rahmat 2015-07-19 14:56:32