使用mongoose Timeout运行gulp-mocha,缺少架构错误

时间:2018-06-19 07:44:39

标签: node.js mongoose gulp gulp-mocha

gulp-mocha 更新到最新版本 6.0.0 后,所有测试都崩溃了。 mongoose 抱怨MissingSchemaError,所有测试超时甚至在增加计时器之后,我都找不到什么错误。它似乎设置了 Mocha 并且 Mongoose 已经改变并且无法找到任何资源,我尝试使用promises / sync,这里没有什么是我在gulp-mocha中运行的旧代码: 3.0.1看了

gulp.task('mocha', () => {
  process.env.NODE_CONFIG_DIR = './server/tools/config';
  let config = require('configuration')();
  const mongooseTools = require("./server/tools/mongoose-tools");

  return mongooseTools.connect(config.db)
    .then(db => mongooseTools.dropDatabase(db))
    .then(() => Promise.all([
      new Promise((resolve, reject) => gulp.src(testSuites, {read: false})
        .pipe(plugins.mocha({
          reporter: 'spec',
          exit: true,
          checkLeaks: true,
          timeout: 10000
        }))
        .on('error', reject)
        .on('end', resolve))
    ]))
    .catch(err => console.log(err))
    .then(() => mongooseTools.disconnect());
});

1 个答案:

答案 0 :(得分:0)

尝试创建一个新的mongoose connection every time。因此,mongoose.createConnection().then(conn => {})而非mongooseTools.connect(config.db).then()。如果您正在使用不断重复运行的gulp任务之类的东西,那么使用猫鼬全局连接会很麻烦。