我正在尝试使用sinon在这个对象中存根save
方法
const db = {
user: {
findOne: () => Promise.resolve({
id: '43214321-4321-4321-4321-432143214321',
save: () => Promise.resolve({ // I WANTED TO STUB THIS METHOD
id: '43214321-4321-4321-4321-432143214321'
})
})
}
}
通过这个
beforeEach(() => {
sinon.stub(db.user.findOne, 'save').rejects()
})
我收到了这个错误
TypeError: Cannot stub non-existent own property save
const saveStub = sinon.stub().resolves();`
const findOneObject = {
save: saveStub
};
sinon.stub(db.user, 'findOne').returns(findOneStub);
如果需要,您可以添加id
存根
findOne
每次被调用时都会解析为一个新对象,因此没有办法在不使用save
的情况下删除findOne
:
const saveStub = sinon.stub().rejects();
sinon.stub(db.user, 'findOne').resolves({
id: '43214321-4321-4321-4321-432143214321',
save: saveStub
});