Запуск gulp-mocha с помощью mongoose Timeout с ошибкой отсутствующей схемы

После обновления gulp-mocha до последней версии 6.0.0 все мои тесты потерпели крах. Мангуста жалуется на MissingSchemaError, все тесты Timeout, даже после увеличения таймера, я не могу найти, что не так. Похоже, что настройка 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 ответ

Попробуйте каждый раз создавать новое соединение с мангустом. Так mongoose.createConnection().then(conn => {}) вместо mongooseTools.connect(config.db).then(), Использование глобального соединения mongoose беспорядочно, если вы используете что-то вроде заданий gulp, которые выполняются постоянно.

Другие вопросы по тегам