与此[问题][1]相关,我在进行单元测试时尝试模拟 firestore。
我试图模拟的代码如下所示:
const firestore = admin.firestore();
const users = await firestore.collection('users').get();
我试图模拟它看起来像这样:
const firestoreStub = sinon.stub();
Object.defineProperty(admin, 'firestore', {
get: () => {
return {
collection: (path) => Promise.resolve({mocka: 'user'})
}
}
});
但是它不起作用。
我已经创建了一个 repo(官方函数 repo 的克隆),以给出整个示例 here如果有帮助。
最佳答案
在 Mark 的帮助下,我完成了这项工作:
sinon.stub(admin, 'firestore')
.get(() => {
return function() {
return {
collection: (path) => {
return {
get: () => [{user: 'mock-user-1'}, {user: 'mock-user-2'}]
}
}
}
}
});
这看起来很疯狂 - 所以如果有人知道更好的解决方案,请告诉我!
关于javascript - 模拟 admin.firestore().collection().get(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49800384/