0

将gulp-mocha更新到最新版本6.0.0后,我的所有测试都崩溃了。 猫鼬抱怨 MissingSchemaError,所有测试超时,即使在增加计时器后,我也找不到什么问题。似乎设置MochaMongoose已经改变并且找不到任何资源,我尝试使用 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());
});
4

1 回答 1

0

每次尝试创建一个新的猫鼬连接。所以mongoose.createConnection().then(conn => {})代替mongooseTools.connect(config.db).then(). 如果您正在使用诸如不断重新运行的 gulp 任务之类的东西,那么使用 mongoose 全局连接会很麻烦。

于 2018-06-19T14:48:17.370 回答