Firebase 本機模擬器套件簡介

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

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

將 Firebase 模擬器套件新增至開發工作流程。

事前準備

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

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

什麼是 Firebase Local Emulator Suite

Firebase 本機模擬器套件包含個別服務模擬器,可準確模擬 Firebase 服務的行為。也就是說,您可以直接將應用程式連結至這些模擬器,在不接觸正式版資料的情況下執行整合測試或品質評估。

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

本機工作流程中的模擬器套件

原型和測試工作流程可以透過多種方式使用本機模擬器套件:

  • 單元測試:使用 Firebase Test SDK 時,您可以使用 Mocha 測試執行器在 Node.js 中編寫單元測試。Test SDK 提供多種方便方法,可用於載入安全性規則、在測試之間刷新本機資料庫,以及管理與模擬器的同步互動。這非常適合針對不依賴應用程式邏輯的資料庫互動作業,編寫簡單的測試。
  • 整合測試:Emulator Suite 中的每個產品模擬器都會回應 SDK 和 REST API 呼叫,就像實際的 Firebase 服務一樣。因此,您可以使用自己的測試工具編寫自給自足的整合測試,並將 Local Emulator Suite 做為後端。
  • 手動測試:您可以將執行中的應用程式連結至 Local Emulator Suite,手動測試 Firebase 應用程式,不必擔心會影響實際資料或設定測試專案。
  • 產品評估:您可以在安全的本機環境中安裝及管理 Firebase Extensions,進一步瞭解其功能,同時盡量降低帳單費用。

支援哪些 Firebase 功能和平台?

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

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

後續步驟

其他原型設計和測試工具

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

Cloud Functions 測試工具。Firebase CLI 環境提供多種方法,可用於製作原型並測試函式:

  • Cloud Functions 模擬器,是模擬器套件的一部分。這個模擬器可與 Firestore 模擬器和/或即時資料庫模擬器中的本機、即時資料和安全性規則互通。
  • Cloud Functions shell,可用於交互式、迭代式函式原型設計和開發。這個殼層會使用 Cloud Functions 模擬器,並提供 REPL 風格的介面,方便開發人員進行開發。不提供與 Cloud FirestoreRealtime Database 模擬器的整合。您可以使用殼層模擬資料並執行函式呼叫,模擬與 Local Emulator Suite 目前不支援的產品 (Analytics、遠端設定和 Crashlytics) 互動。
  • Cloud Functions 專用的 Firebase Test SDK,這是 Node.js 與 Mocha 架構的組合,可用於函式開發。也就是說,Cloud Functions Test SDK 會在 Cloud Functions 殼層上提供自動化功能。

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

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

  • 規則模擬工具,是 Firebase 控制台的一部分。Rules Playground 提供互動式入門體驗,讓您瞭解如何設計安全性規則。詳情請參閱「快速驗證 Firebase 安全性規則」。