我正在创建一些琐碎的应用程序来学习Firestore。
我使用以下命令启动了本地Firestore模拟器:
$ gcloud测试版模拟器firestore启动
启动模拟器后,我使用“go test”运行测试
我用数据填充了Firestore,并创建了一个函数来查询添加的一些记录/文档。
我从我的应用程序中删除了一些文档,但它们继续显示在查询中。
我试过:
- 使用ctrl-c和ctrldd停止
- $ gcloud测试版模拟器firestore停止
- 我重新启动了MacBook,但文档仍然存在。
我不明白重启计算机后数据存储是如何持久化的,我猜数据存储在JSON文件或类似的文件中。
我搜索了一下,但没有找到任何关于模拟器的文档。
我是否应该启动模拟器,然后对模拟的Firestore运行测试?
如何刷新Firestore?
4条答案
按热度按时间esbemjvw1#
模拟器支持端点清除数据库(docs):
填写
PORT
和PROJECT_NAME
。nhn9ugyo2#
因为您使用的是Go语言,所以我实现了一个小的测试助手,它可以帮助您启动模拟器、等待模拟器启动、清除现有数据、初始化客户端以及在模拟器完成后关闭操作器。
它使用了Juan答案中的技巧(您应该将其标记为答案)。
要使用此实用程序,您只需说:
源代码:
tf7tbtn23#
您可以使用以下命令:
现在,每次调用
teardown
时,都将删除Firestore模拟器中的所有数据。ddhy6vgd4#
这没有文档说明,但这里是EmulatorsUI使用的端点。我的示例使用
fetch
发送请求,并假设您使用默认端口。1.从Firestore模拟器中删除所有数据:
1.从Auth模拟器中删除所有帐户:
1.从存储存储桶中删除所有文件比较复杂,请使用此函数:
为了给出一个完整的示例,下面是我的
jest
设置的代码: