当nodeunit捕获错误时,如何显示完整的堆栈跟踪?例如,我的测试是抛出:
✔ event delete - basic
✔ delete - errors
Fatal error: undefined is not a function
如何让nodeunit告诉我undefined
被称为函数的位置?
答案 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运行测试。可能有新的信息。