【问题标题】:Mocha: undefined is not a function摩卡:未定义不是一个函数
【发布时间】:2013-04-01 23:04:53
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    如果遇到循环依赖,Requirejs 会为一个或多个模块返回undefined,所以这可能是你的问题。试试这个:

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

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

    【讨论】:

    • 我知道我的问题并不深入。代码运行,测试运行,它没有挂起或任何东西。你认为这仍然适用吗?
    • 我不确定,但有可能。你也可以试试 Node 的调试器:nodejs.org/api/debugger.html & erickrdch.com/2012/09/… 虽然我不确定如果你不知道在哪里设置断点是否会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 2015-03-02
    • 1970-01-01
    相关资源
    最近更新 更多