运行依赖于Firestore模拟器的CI测试

时间:2020-03-18 17:04:01

标签: firebase google-cloud-firestore github-actions firebase-cli

我有一些安全测试,可以在Firestore模拟器上本地运行。该过程如下所示:

在终端选项卡1中,启动仿真器:

firebase emulators:start --only firestore

在终端标签2中,运行测试

yarn test rules

我想将这些测试作为GitHub Actions for CI运行。当前看起来像这样:

- name: Test Security Rules
  run: |
    firebase emulators:start --only firestore
    yarn test rules

问题是启动仿真器不会返回,因此挂起并最终超时。

emulators: All emulators started, it is now safe to connect.

我希望了解如何启动仿真器,知道它何时准备就绪(或等待N秒钟),运行测试,然后(可选)关闭该过程。

1 个答案:

答案 0 :(得分:1)

请阅读documentation for starting the Firebase emulators。您将要使用emulators:exec <scriptpath>参数:

启动在firebase.json中配置的Firebase产品的仿真器后,在scriptpath上运行脚本。脚本完成运行后,仿真器进程将自动停止。

如果将要运行的命令的名称传递给它,则CLI会在准备就绪后为您运行该命令,然后在脚本完成后结束该过程。