Firebase 本地模拟器套件是一套高级工具,供希望使用 Cloud Firestore、实时数据库、Cloud Storage for Firebase、身份验证、Firebase 托管、Cloud Functions(测试版)、Pub/Sub(测试版)、和 Firebase 扩展(测试版)。它提供了丰富的用户界面,可帮助您快速运行和原型设计。
使用 Local Emulator Suite 进行本地开发非常适合您的评估、原型设计、开发和持续集成工作流程。
在你开始之前
在探索 Firebase Local Emulator Suite 之前,我们建议您先了解 Firebase 产品和 Firebase 开发模型:
- 阅读适用于您的平台和产品( Apple 、 Android或Web )的 Firebase 入门主题。
- 在您选择的平台上下载可立即运行的快速入门应用程序,然后通读并执行代码。 FriendlyEats 快速入门应用程序是一个不错的选择( iOS 、 Android或Web )。
什么是 Firebase 本地模拟器套件?
Firebase 本地仿真器套件由单独的服务仿真器组成,旨在准确模拟 Firebase 服务的行为。这意味着您可以将您的应用程序直接连接到这些模拟器以执行集成测试或 QA,而无需接触生产数据。
例如,您可以将您的应用连接到 Cloud Firestore 模拟器,以便在测试中安全地读写文档。这些写入可能会触发 Cloud Functions 模拟器中的功能。但是,当模拟器不可用或未配置时,您的应用仍将继续与生产 Firebase 服务通信。
本地工作流程中的模拟器套件
您的原型和测试工作流程可以通过多种方式使用本地仿真器套件:
- 单元测试:使用 Firebase 测试 SDK,您可以使用 mocha 测试运行器在 Node.js 中编写单元测试。测试 SDK 提供了几种方便的方法来加载安全规则、在测试之间刷新本地数据库以及管理与模拟器的同步交互。它非常适合为不依赖于应用程序逻辑的数据库交互编写简单的测试。
- 集成测试:模拟器套件中的每个单独的产品模拟器都响应 SDK 和 REST API 调用,就像生产 Firebase 服务一样。因此,您可以使用自己的测试工具来编写使用本地仿真器套件作为后端的独立集成测试。
- 手动测试:您可以将正在运行的应用程序连接到本地模拟器套件以手动测试您的 Firebase 应用程序,而不会冒生产数据或配置测试项目的风险。
- 产品评估:您可以在安全的本地环境中安装和管理 Firebase 扩展,并更好地了解其功能,同时最大限度地降低计费成本。
支持哪些 Firebase 功能和平台?
Firebase 本地模拟器套件允许您以可互操作的方式使用我们的核心产品测试您的代码。 Cloud Functions 模拟器支持由 Cloud Firestore、实时数据库、Cloud Storage for Firebase、身份验证和 Pub/Sub 触发的 HTTP 函数、可调用函数和后台函数。 Cloud Firestore、实时数据库和 Cloud Storage for Firebase 模拟器内置了 Firebase 安全规则模拟。
云 火库 | 即时的 数据库 | 云 贮存 对于 Firebase | 验证 | 云 功能 | 云 发布/订阅 | 扩展 | |
---|---|---|---|---|---|---|---|
安卓 SDK | ![]() | ![]() | ![]() | ![]() | ![]() | 不适用 | 不适用 |
iOS SDK | ![]() | ![]() | ![]() | ![]() | ![]() | 不适用 | 不适用 |
网络 SDK | ![]() | ![]() | ![]() | ![]() | ![]() | 不适用 | 不适用 |
Node.js 管理 SDK | ![]() | ![]() | ![]() | ![]() | 不适用 | ![]() | 不适用 |
下一步
从 Local Emulator Suite 演练开始,该演练展示了如何对数据库和 Cloud Functions 进行离线原型设计。
了解如何安装和配置本地模拟器套件。
其他原型设计和测试工具
仿真器套件由其他原型和测试工具补充。
云功能测试工具。 Firebase CLI 环境为您提供了多种方法来原型化和测试函数:
- Cloud Functions 模拟器,模拟器套件的一部分。此模拟器可与 Firestore 模拟器和/或实时数据库模拟器中的本地实时数据和安全规则互操作。
- Cloud Functions shell,它允许交互式、迭代函数原型设计和开发。该外壳使用具有 REPL 样式接口的 Cloud Functions 模拟器进行开发。不提供与 Cloud Firestore 或实时数据库模拟器的集成。使用 shell,您可以模拟数据并执行函数调用,以模拟与 Local Emulator Suite 当前不支持的产品的交互:Analytics、Remote Config 和 Crashlytics。
- Cloud Functions 的 Firebase 测试 SDK,一个带有 mocha 框架的 Node.js,用于函数开发。实际上,Cloud Functions 测试 SDK 在 Cloud Functions shell 上提供了自动化。
您可以在以交互方式测试函数和Cloud Functions 单元测试中找到有关 Cloud Functions shell 和 Cloud Functions Test SDK 的更多信息。
安全规则测试工具。 Emulator Suite 是测试安全规则的首选工具集。但是,您也可以使用:
- 规则游乐场,Firebase 控制台的一部分。 Rules Playground 为安全规则设计提供了出色的交互式入门体验。有关详细信息,请参阅快速验证 Firebase 安全规则。