欢迎参加我们将于 2022 年 10 月 18 日举办的 Firebase 峰会(线上线下同时进行),了解 Firebase 如何帮助您加快应用开发速度、满怀信心地发布应用并在之后需要时轻松地扩大应用规模。立即报名

Firebase 本地模擬器套件簡介

Firebase 本地模擬器套件是一套高級工具,適用於希望使用 Cloud Firestore、實時數據庫、雲存儲、身份驗證、雲函數、Pub/Sub、Firebase 託管和 Firebase 擴展在本地構建和測試應用程序的開發人員。它提供了豐富的用戶界面,可幫助您快速運行和原型設計。

使用 Local Emulator Suite 進行本地開發非常適合您的原型設計、開發和持續集成工作流程。

將 Firebase Local Emulator Suite 添加到您的開發工作流程中。

在你開始之前

在探索 Firebase Local Emulator Suite 之前,我們建議您先了解 Firebase 產品和 Firebase 開發模型:

  • 閱讀適用於您的平台和產品( AppleAndroidWeb的 Firebase 入門主題。
  • 在您選擇的平台上下載可立即運行的快速入門應用程序,然後通讀並執行代碼。 FriendlyEats 快速入門應用程序是一個不錯的選擇( iOSAndroidWeb )。

什麼是 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、身份驗證和 Pub/Sub 觸發的 HTTP 函數、可調用函數和後台函數。 Cloud Firestore、實時數據庫和 Cloud Storage 模擬器內置了 Firebase 安全規則模擬。


火庫
即時的
數據庫

貯存
驗證
職能

發布/訂閱
擴展
安卓 SDK 不適用不適用
iOS SDK 不適用不適用
網絡 SDK 不適用不適用
Node.js 管理 SDK 不適用不適用

下一步

其他原型設計和測試工具

仿真器套件由其他原型和測試工具補充。

雲功能測試工具。 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 安全規則