我想为 Mongoose 创建一个存根save
特定模型中的方法,以便我创建的模型的任何实例都将调用存根而不是普通的 Mongoosesave
方法。我的理解是,做到这一点的唯一方法是像这样存根整个模型:
var stub = sinon.stub(myModel.prototype);
不幸的是,这行代码导致我的测试抛出以下错误:
TypeError: Cannot read property 'states' of undefined
有谁知道这里出了什么问题?
有两种方法可以实现此目的。第一个是
var mongoose = require('mongoose');
var myStub = sinon.stub(mongoose.Model, METHODNAME);
如果您控制台 log mongoose.Model 您将看到该模型可用的方法(值得注意的是,这不包括 lte 选项)。
另一种(特定于模型)方法是
var myStub = sinon.stub(YOURMODEL.prototype.base.Model, 'METHODNAME');
同样,相同的方法可用于存根。
编辑:某些方法(例如保存)被存根如下:
var myStub = sinon.stub(mongoose.Model.prototype, METHODNAME);
var myStub = sinon.stub(YOURMODEL.prototype, METHODNAME);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)