【发布时间】:2018-09-22 19:59:26
【问题描述】:
与这个 [question][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。
【问题讨论】:
-
在您的代码示例中,
firestore是admin的函数,但您正试图将其定义为属性。在您的模拟admin对象上定义一个函数或模拟,它返回您的模拟firestore。 -
嗨@DauleDK,您介意在下面发布您的解决方案作为答案吗?提前致谢!
标签: javascript firebase google-cloud-firestore google-cloud-functions