Javascript 如何覆盖架构上的Mongoose findOne()函数进行测试?
我试图测试一些业务逻辑,需要覆盖放置在Mongoose模式上的findOne()函数 我尝试做的一个小的可行例子是:Javascript 如何覆盖架构上的Mongoose findOne()函数进行测试?,javascript,unit-testing,mongoose,Javascript,Unit Testing,Mongoose,我试图测试一些业务逻辑,需要覆盖放置在Mongoose模式上的findOne()函数 我尝试做的一个小的可行例子是: function myFunc() { const qry = { ...search_criteria... }; mySchema.findOne(qry) .exec() .then((doc) => { ...some business logic...}) } 如何操作findOne()函数,以定义它在测试中返回的内容?您可以使用它创
function myFunc() {
const qry = { ...search_criteria... };
mySchema.findOne(qry)
.exec()
.then((doc) => { ...some business logic...})
}
如何操作findOne()函数,以定义它在测试中返回的内容?您可以使用它创建一个函数,基本上用您需要的任何内容完全替换它
例如:
const findOne = sinon.stub(mySchema, 'findOne');
findOne.callsFake((query) => { console.log('Test'); });
mySchema.findOne({}); // prints 'Test'