按照存根的设计方式,每次都会返回一个新对象
controller.model
被称为。结果是:
controller.model === controller.model // false
find
财产
控制器.型号
使用:
const spyFind = sinon.spy(controller.model, 'find');
Sinon抓取
控制器.型号
和树桩
找到
在
那个
对象。下次你打电话的时候
,例如在测试中,您将从
我认为更好的方法是提供一个由
find()
,则可以判断是否调用了存根:
const sinon = require('sinon')
let controller = {
get model() { return schema},
async findUser(data) {
const data = await this.model.find({ id: data.id });
return data;
}
}
let findStub = sinon.stub()
findStub.returns({ username: 'asdf' })
sinon.stub(controller, 'model').get(() => ({
find: findStub
}));
console.log(controller.model.find()) // { username: 'asdf' }
console.log(findStub.calledOnce); // true