如果我不使用云函数,如何测试我的 react js + firestore 项目?



我正在学习全栈开发,我刚刚完成了我的第一个react js+firestore项目。我想写一些单元测试,但我在互联网上找到的唯一样本是测试firestore规则或测试云功能。例如,我想测试我的查询是否返回期望值。

export async function doesUsernameExist(username) {
const result = await firebase
.firestore()
.collection('users')
.where('username', '==', username) 
.get();
return result.docs.map((user) => user.data().length > 0);
}

我想用假数据测试这个查询,但我如何才能生成假数据?更确切地说,我需要一个可以查询的数据结构。提前谢谢!

我解决了我的问题。我使用了firebase模拟器。在我的情况下,解决方案是:

而不是

const firebase = Firebase.initializeApp(config);

使用此配置

const firebase = require('@firebase/testing')
const db = firebase.initializeTestApp({ projectId: MY_PRIJECT_ID }).firestore()

async function doesUsernameExist(username) {
const result = await db
.collection('users')
.where('username', '==', username)
.get();
return result.docs.map((user) => user.data().length > 0);
}

describe('Testing username', () => {
it('Username does not exsitst in the database', async () => {
const username = "peter"
const res = await doesUsernameExist(username)

expect(res.length).toEqual(0)
})

})

相关内容

  • 没有找到相关文章

最新更新