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