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

时间:2014-09-08 02:51:34

标签: javascript node.js nodeunit

当nodeunit捕获错误时,如何显示完整的堆栈跟踪?例如,我的测试是抛出:

✔ event delete - basic
✔ delete - errors
Fatal error: undefined is not a function

如何让nodeunit告诉我undefined被称为函数的位置?

1 个答案:

答案 0 :(得分:1)

问题在于grunt-contrib-nodeunit:它将原始nodeunit消息修改为不太有用的东西。我创建了一个问题here

简而言之,我用grunt-contrib-nodeunit生成的代码输出如下:

user@desktop:~/bug_test$ grunt
Running "nodeunit:all" (nodeunit) task

test.js
Fatal error: undefined is not a function

Plain nodeunit提供了更有用的错误消息:

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()

并且,如问题所示,当有一个堆栈来共享grunt-contrib-nodeunit时,有时会隐藏它。

请注意,记者的选择(咕噜声,默认值或最小值)没有任何区别。

解决方案是,只要收到错误消息,就会直接使用nodeunit运行测试。可能有新的信息。