Firebase 本機模擬器套件簡介

Firebase Local Emulator Suite 是一組進階工具,可供開發人員使用 Cloud FirestoreRealtime DatabaseCloud Storage for FirebaseAuthenticationFirebase HostingCloud Functions (Beta 版)、Pub/Sub (Beta 版) 和 Firebase Extensions (Beta 版) 在本機建構及測試應用程式。提供豐富的使用者介面,協助您快速執行及設計原型。

使用本機模擬器套件進行本機開發,非常適合評估、原型設計、開發和持續整合工作流程。

在開發工作流程中加入 Firebase Emulator Suite。

事前準備

探索 Firebase 本機模擬器套件前,建議先瞭解 Firebase 產品和 Firebase 開發模式:

  • 請參閱您平台和產品適用的「開始使用 Firebase」主題 (AppleAndroid網頁)。
  • 在所選平台上,下載可立即執行的快速入門應用程式,然後詳閱並執行程式碼。FriendlyEats 快速入門應用程式是不錯的選擇 (iOSAndroid網頁)。

什麼是 Firebase Local Emulator Suite

Firebase 本機模擬器套件包含多個服務模擬器,可準確模擬 Firebase 服務的行為。也就是說,您可以將應用程式直接連線至這些模擬器,執行整合測試或品質保證,而不會動用正式環境資料。

舉例來說,您可以將應用程式連線至 Cloud Firestore 模擬器,在測試中安全地讀取及寫入文件。這些寫入作業可能會觸發 Cloud Functions 模擬器中的函式。不過,如果模擬器無法使用或未設定,應用程式仍會繼續與實際工作環境的 Firebase 服務通訊。

在本機工作流程中使用模擬器套件

您可以在原型設計和測試工作流程中,透過下列幾種方式使用本機模擬器套件:

  • 單元測試:您可以使用 Firebase 測試 SDK,透過 mocha 測試執行器在 Node.js 中編寫單元測試。測試 SDK 提供多種便利方法,可載入安全性規則、在測試之間清除本機資料庫,以及管理與模擬器的同步互動。非常適合編寫資料庫互動的簡單測試,這類測試不依附於應用程式的邏輯。
  • 整合測試:Emulator Suite 中的每個產品模擬器都會回應 SDK 和 REST API 呼叫,就像正式版 Firebase 服務一樣。因此,您可以使用自己的測試工具,編寫以 Local Emulator Suite 做為後端的獨立整合測試。
  • 手動測試:您可以將正在執行的應用程式連結至 Local Emulator Suite,手動測試 Firebase 應用程式,不必擔心生產資料遭到破壞,也不必設定測試專案。
  • 產品評估:您可以在安全的本機環境中安裝及管理 Firebase Extensions,並深入瞭解其功能,同時盡量減少帳單費用。

支援哪些 Firebase 功能和平台?

Firebase 本機模擬器套件可讓您以可互通的方式,測試使用核心產品的程式碼。Cloud Functions 模擬器支援 HTTP 函式、可呼叫函式,以及由 Cloud FirestoreRealtime DatabaseCloud Storage for FirebaseAuthenticationPub/Sub 觸發的背景函式。Cloud FirestoreRealtime DatabaseCloud Storage for Firebase 模擬器內建 Firebase Security Rules 模擬功能。

Cloud
Firestore
即時
資料庫
Cloud
Storage
for Firebase
驗證 Cloud
Functions
Cloud
Pub/Sub
擴充功能
Android SDK 不適用 不適用
iOS SDK 不適用 不適用
網頁 SDK 不適用 不適用
Node.js Admin SDK 不適用 不適用

後續步驟

其他原型設計和測試工具

模擬器套件可搭配其他原型設計和測試工具使用。

Cloud Functions 測試工具。Firebase CLI 環境提供多種函式原型設計和測試方式:

  • Cloud Functions 模擬器 (Emulator Suite 的一部分)。這個模擬器可與 Firestore 模擬器和/或即時資料庫模擬器中的本機即時資料和安全性規則互通。
  • Cloud Functions Shell,可進行互動式函式原型設計和開發。這個殼層會使用 Cloud Functions 模擬器,並提供 REPL 樣式的介面供開發作業使用。我們不會提供與 Cloud FirestoreRealtime Database 模擬器的整合功能。您可以使用殼層模擬資料,並執行函式呼叫,模擬與 Local Emulator Suite 目前不支援的產品互動:Analytics、遠端設定和 Crashlytics。
  • Cloud Functions 專用的 Firebase 測試 SDK,這是搭配 mocha 架構的 Node.js,可供函式開發使用。實際上,Cloud Functions Test SDK 是在 Cloud Functions 殼層上提供自動化功能。

如要進一步瞭解 Cloud Functions Shell 和 Cloud Functions Test SDK,請參閱「以互動方式測試函式」和「Cloud Functions 的單元測試」。

安全性規則測試工具。模擬器套件是測試安全規則的首選工具組。不過,你也可以使用:

  • 規則模擬工具,位於 Firebase 控制台。規則遊樂區提供絕佳的互動式入門體驗,協助您設計安全性規則。詳情請參閱「快速驗證 Firebase 安全性規則」。