Node.js 摩卡测试突然停止:找不到模块';pg本机';

Node.js 摩卡测试突然停止:找不到模块';pg本机';,node.js,mocha.js,sequelize.js,Node.js,Mocha.js,Sequelize.js,我们的摩卡测试突然停止,控制台上显示以下信息: Cannot find module `pg-native` 没有显示堆栈跟踪,mocha不会呈现测试的正常输出。测试立即停止 如果禁用有问题的测试,所有测试都会正常运行 安装pg native会删除错误,但mocha只是挂起在该点上。根据,该问题是由于运行某个深入跟踪sequelize记录的程序造成的 乙二醇 改为 expect(myObject).to.deep.equal(mySequelizeInstance.toJSON()); 我会

我们的摩卡测试突然停止,控制台上显示以下信息:

Cannot find module `pg-native`
没有显示堆栈跟踪,mocha不会呈现测试的正常输出。测试立即停止

如果禁用有问题的测试,所有测试都会正常运行

安装pg native会删除错误,但mocha只是挂起在该点上。

根据,该问题是由于运行某个深入跟踪sequelize记录的程序造成的

乙二醇

改为

expect(myObject).to.deep.equal(mySequelizeInstance.toJSON());
我会解决的

为什么?

上述行为有两个原因

  • Sequelize记录覆盖,因此遍历某些属性会导致执行代码。在这种情况下,这些属性中的一个最终落入兔子洞,导致执行
    require('pg-native')
    (以及错误)
  • 对象包含循环引用,因此代码挂起遍历无限引用。如果留足够长的时间,当它耗尽烟囱时,它最终会失败
  • expect(myObject).to.deep.equal(mySequelizeInstance.toJSON());