我想测试一下我的firebase后端,包括firestore,auth和函数。有一些云函数在新用户创建或删除时,像apis一样影响firestore数据。
我想运行这样的测试。
1.我将在终端启动firebase模拟器(没有数据)。
1.运行测试文件。下面的一切都将在脚本中,所以没有一部分是手动的。
1.我将注册新用户。这些应该触发firebase功能,让说影响users
收集。
1.测试users
集合是否受到影响。
1.然后使用任何创建的用户(例如Jake Williams
)进行假登录。
1.调用一些rest API。这些api将再次更改firestore数据。对于这些云函数,接收的auth
将为Jake Williams
1.测试这些Firestore数据是否受到影响。
1.清理模拟器数据并运行其他测试。
我已经浏览了文档,但这些都不清楚。浏览了github/quickStart-testing,仍然没有帮助。我看到有教程分别测试Firestore规则和一些测试云功能。
我可以设置一个测试项目来满足我的上述需求吗?
1条答案
按热度按时间myss37ts1#
我觉得Firebase指南令人困惑。他们提到了
firebase emulators:exec "./my-test.sh"
,不确定my-test.sh
是不是。通常在node.js测试工作流中看不到.sh
文件。2-3天后,找到了自己问题的正确解决方案。这里有些事你应该知道
1.firebase模拟器:exec
firebase emulators:exec 'npm run test'
命令在firebase模拟器中运行你的测试文件。所以当你的测试文件使用firebase adminimport * as admin from "firebase-admin";
时,我认为这个firebase admin将链接到正在创建的模拟器示例。在那个测试文件中运行admin.auth().createUser(...)
,然后将在该模拟器上创建用户。此createUser
还将触发云函数中的副作用。您只需等待5 sec
,然后再测试触发函数的效果。1.您需要使用项目ID初始化admin和firebase功能测试
1.如果要清除模拟器数据并在每次测试之间重新初始化应用程序
查阅文件,我没有发现这些东西,或者我不清楚。