gpt4 book ai didi

javascript - 模拟 admin.firestore().collection().get()

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:54:11 25 4
gpt4 key购买 nike

与此[问题][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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com