如何在Nodeunit中显示完整的堆栈跟踪
How do I display full stack trace in Nodeunit?
当nodeunit捕获错误时,如何显示完整的堆栈跟踪?例如,我的测试是抛出:
✔ event delete - basic
✔ delete - errors
Fatal error: undefined is not a function
如何让nodeunit告诉我undefined
作为函数被调用的位置?
问题在于grunt contrib节点单元:它将原始节点单元消息修改为不太有用的消息。我在这里制造了一个问题。
简言之,我用grunt contrib节点单元生成的代码输出如下:
user@desktop:~/bug_test$ grunt
Running "nodeunit:all" (nodeunit) task
test.js
Fatal error: undefined is not a function
普通节点单元给出了一个更有用的错误消息:
user@desktop:~/bug_test$ nodeunit test.js
test.js
FAILURES: Undone tests (or their setups/teardowns):
- testSomethingElse
To fix this, make sure all tests call test.done()
而且,正如问题中所示,当有一个堆栈可以共享时,contrib节点单元有时会隐藏它
请注意,报告器的选择(grunt、default或minimum)并没有什么区别。
解决方案是,每当收到不太有用的错误消息时,总是直接使用nodeunit运行测试。可能会有新的信息。
相关文章:
- Fresh Spark Install+Homestead上的Vue异步堆栈跟踪错误
- 打印javascript控制台的堆栈跟踪
- 如何在Chrome扩展内容脚本中获取错误堆栈跟踪
- 正在获取控制台消息的堆栈跟踪
- Bluebird 在与 Sequelize/MySQL 一起使用时显示损坏的堆栈跟踪
- 如何在Internet Explorer中获取javascript堆栈跟踪.e.stack 返回 “Undefined”
- JavaScript 中的 try-catch:如何获取原始错误的堆栈跟踪或行号
- 节点错误堆栈跟踪未定义
- 如何在 node.js 中输出深度堆栈跟踪
- 如何在 Firefox 中获取 JavaScript 堆栈跟踪
- 蓝鸟(或其他承诺库)保持承诺错误堆栈跟踪
- 在 Karma (AngularJS) 中抑制堆栈跟踪
- Firebug:角度堆栈跟踪不显示错误的来源(行号,文件)
- 在node.js中获取*current*堆栈跟踪(例如,通过SIGINT)
- 在开发Firefox扩展时获取堆栈跟踪
- 正在清理Protractor堆栈跟踪
- 从nodejs中抛出的字符串中获取堆栈跟踪
- 有没有一种方法可以从Internet Explorer中的Error对象中获取行号或堆栈跟踪
- 何时在窗口上提供正确的堆栈跟踪.错误函数
- 如何将js堆栈跟踪替换为include"行“;以及“;位置“;文本