如何使用相同的 npm 脚本 运行 Firebase 模拟器和执行测试?

how to run Firebase Emulator and Perform Testing using the same npm script?

抱歉,我是节点和后端开发的新手。所以我正在尝试使用 mocha 和 firebase 模拟器执行测试来测试我的云功能。

目前要进行测试,顺序是这样的:

1 . 使用 firebase emulators:start

启动模拟器

2 . 在不同的终端选项卡中,我 运行 使用 npm 脚本进行测试 npm run test-cloud-functions

package.json中的脚本是这样的

"scripts": {

   "test-cloud-functions": "export FIRESTORE_EMULATOR_HOST=\"localhost:8080\" && mocha -r ts-node/register src/tests/cloud_function_tests --recursive --extension .test.ts --timeout 60000 --exit",

},

3 . 按 control + C

停止 firebase 模拟器

我希望上面的 3 个步骤在一个 npm 脚本中完成。怎么做?

我试过像这样将 firebase emulators:start 添加到脚本中

    "scripts": {
    
       "test-cloud-functions": "firebase emulators:start && export FIRESTORE_EMULATOR_HOST=\"localhost:8080\" && mocha -r ts-node/register src/tests/cloud_function_tests --recursive --extension .test.ts --timeout 60000 --exit",
   
    },

但它不起作用,它不运行测试

选项 1:

在 serve:dev 下的 npm 脚本中,提及下面给出的代码:

"serve:dev": "concurrently \"npm run build:dev\" \"firebase emulators:start --only functions\""

有关详细信息,请参阅 documentation

选项 2:

要集成命令 firebase emulators:startnpm run test-cloud-functions,请遵循提到的答案