Запуск 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, которые выполняются постоянно.