当运行mocha测试时,我得到“对象不是一个函数”但不是直接运行测试时

时间:2015-06-18 02:18:57

标签: node.js mocha

当我运行“ mocha ”来运行我的所有测试时,我收到此错误:

var should = chai.should();                  ^
TypeError: Property 'should' of object #<Object> is not a function

然而,当我在相关文件上运行“ mocha test / filename.js ”时,它运行正常。 chai.should()来自我之前询问的question

最新节点/ npm / mocha / chai /应

在不同的运行之间会出现这种差异的原因是什么?

感谢

1 个答案:

答案 0 :(得分:0)

出现,因为mocha在之前的测试中加载应该,例如,

var should = require('should');

并尝试全局使用 ,所以当它到达我的

var should = chai.should();

在以后的测试中它会爆炸,因为它会发生冲突,因此单独运行测试时没有冲突。

我通过完成所有测试并将我的要求重新定义为上面的那个来解决这个问题。