我正在尝试测试一些业务逻辑,并且需要覆盖位于 Mongoose 架构上的 findOne() 函数。
我正在尝试做的一个可行的小例子是:
function myFunc() {
const qry = { ...search_criteria... };
mySchema.findOne(qry)
.exec()
.then((doc) => { ...some business logic...})
}
如何操作 findOne() 函数以定义它在测试中返回的内容?
最佳答案
您可以使用sinon
创建 stub for this function ,基本上完全用你需要的东西替换它。
例如:
const findOne = sinon.stub(mySchema, 'findOne');
findOne.callsFake((query) => { console.log('Test'); });
mySchema.findOne({}); // prints 'Test'
关于javascript - 如何在模式上覆盖 Mongoose findOne() 函数以进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58642202/