如何在Nodeunit中显示完整的堆栈跟踪

How do I display full stack trace in Nodeunit?

本文关键字:堆栈 跟踪 显示 Nodeunit      更新时间:2023-09-26

当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运行测试。可能会有新的信息。