Я хотел бы издеваться MongoDB зависимость с proxyquire , делая это в моем тесте:насмешливый MongoDB с proxyquire
var proxyquire = require('proxyquire');
var controller = path.resolve('.path/to/controller/file.js');
в перед каждым заявление:
mocked_mongoose = {
isMocked: true,
model: function(name, schema, collection, skipInit) {
return {
find: function(conditions, projection, options, callback) {
console.log('callback find');
return callback();
},
save: function(options, fn) {
console.log('callback save');
return callback();
},
findOne: function(conditions, projection, options, callback) {
console.log('callback find one');
var model = mongoose.model(name);
var fakeModel = fakery.fake(model);
return callback(null, fakemodel);
}
}
}
};
proxyquire(controller, {
'mongoose': mocked_mongoose
});
и когда я перейдите к контроллеру и сделайте console.log (mongoose.isMocked) Я получил undefined, и если я напечатаю mongoose.model.toString(), похоже, что методы мангуста не переопределены.
Я следил за this article и пытался реализовать ту же логику, но я не получаю одинаковых результатов.
любая помощь будет оценена, спасибо!