使用 Sinon 存根猫鼬模型
Using Sinon to stub a mongoose model
我正在尝试将猫鼬模型存根到 return json 值
我的密码是
var valueToReturn = {
name:'xxxxx'
};
var stub = sinon.stub(MyModel.prototype,'findOne');
stub.returns(valueToReturn);
我收到此错误:TypeError:Attempted 将未定义的 属性 findOne 包装为函数
看看sinon-mongoose。您只需几行就可以期待链式方法:
// If you are using callbacks, use yields so your callback will be called
sinon.mock(YourModel)
.expects('findById').withArgs('abc123')
.chain('exec')
.yields(someError, someResult);
// If you are using Promises, use 'resolves' (using sinon-as-promised npm)
sinon.mock(YourModel)
.expects('findById').withArgs('abc123')
.chain('exec')
.resolves(someResult);
您可以在 repo 上找到工作示例。
此外,建议:使用 mock
方法而不是 stub
,这将检查原始对象是否确实存在该方法。
我正在尝试将猫鼬模型存根到 return json 值
我的密码是
var valueToReturn = {
name:'xxxxx'
};
var stub = sinon.stub(MyModel.prototype,'findOne');
stub.returns(valueToReturn);
我收到此错误:TypeError:Attempted 将未定义的 属性 findOne 包装为函数
看看sinon-mongoose。您只需几行就可以期待链式方法:
// If you are using callbacks, use yields so your callback will be called
sinon.mock(YourModel)
.expects('findById').withArgs('abc123')
.chain('exec')
.yields(someError, someResult);
// If you are using Promises, use 'resolves' (using sinon-as-promised npm)
sinon.mock(YourModel)
.expects('findById').withArgs('abc123')
.chain('exec')
.resolves(someResult);
您可以在 repo 上找到工作示例。
此外,建议:使用 mock
方法而不是 stub
,这将检查原始对象是否确实存在该方法。