Jul*_*SIN 5 javascript mocha.js mongoose node.js mockgoose
我有一个节点应用程序,可以访问使用 mocha 和 mockgoose 测试的 mongodb 抛出的猫鼬。我最近搬到了 mockgoose 7.0.5。我按照 github 上的入门指南将我的 mocha 超时时间提高到 2 分钟。
这是我在测试中的前功能:
import mongoose from 'mongoose';
var Mockgoose = require('mockgoose').Mockgoose;
[...]
const mockgoose = new Mockgoose(mongoose);
before(function(done) {
try {
console.log('BEFORE prepareStorage');
mockgoose.prepareStorage().then(() => {
console.log('IN prepareStorage');
mongoose.connect('mongodb://example.com/TestingDB', function(err) {
done(err);
});
}).catch((error) => {
done(error);
});
} catch(e) {
done(e);
}
console.log('AFTER prepareStorage');
});
beforeEach(function(done) {
mockgoose.helper.reset();
done();
});
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,在这mockgoose.prepareStorage一步中,mockgoose 似乎正在下载一些东西。
BEFORE prepareStorage
AFTER prepareStorage
Completed: 0.1 % (0.2mb / 234.3mb
Run Code Online (Sandbox Code Playgroud)
我想这与请求的 2 分钟超时有关。
我的问题/问题是:
有人知道mockgoose正在下载什么吗?(我不记得以前版本的 mockgoose 有这种行为)
mockgoose 是否需要在每次运行时下载(npm 测试),还是会在下一次运行(npm 测试)中重用结果?
我能阻止他下载东西吗?理想情况下,我想在沙箱环境中运行我的单元测试,而不能访问网络(在 docker 中)。我可以在某处下载 234mb 并让 mockgoose 重新使用它吗?
谢谢
我很确定这是mockgoose 7 安装后步骤的问题,尽管我无法确定到底是什么。恢复到mockgoose ^6.0.0 修复了这个问题。
更新
问题是,mockgoose 第一次运行时必须下载 mongodb 源,这可能需要一段时间。您应该尝试将测试超时更新为较长的时间(5-10 分钟)。这确实解决了问题。幸运的是,这只需要一次。
| 归档时间: |
|
| 查看次数: |
1092 次 |
| 最近记录: |