摩卡:undefined不是一个函数

时间:2013-04-01 14:30:07

标签: javascript node.js unit-testing requirejs mocha

我正在Mocha中运行测试套件,我发现我经常会遇到“致命错误:未定义不是函数”,没有堆栈跟踪。问题通常在于我的代码依赖性,而不是在测试用例本身。这非常难以调试。

有没有办法打开堆栈跟踪或详细错误或其他什么?或者我可能有不寻常或不正确的设置?

设置是使用require.js的JavaScript,在Node中运行测试。

1 个答案:

答案 0 :(得分:2)

如果遇到循环依赖关系,则需要为一个或多个模块返回undefined,因此这可能是您的问题。试试这个:

npm install -g madge
madge --circular /path/to/your/javascript

这会告诉你它是否发现任何循环依赖。我认为它只会检查define()语句,但这足以帮助我找出类似的问题。以下是有关madge的更多信息:https://github.com/pahen/node-madge