Firebase 本機模擬器套件簡介

Firebase 本機模擬器套件是一組進階工具,可讓開發人員使用 Cloud Firestore、即時資料庫、Cloud Storage for Firebase、驗證、Firebase 託管、Cloud Functions (Beta 版)、Pub/Sub (Beta 版) 和 Firebase Extensions (Beta 版),在本機建構及測試應用程式。它提供豐富的使用者介面,可協助您快速開始執行及設計原型。

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

將 Firebase 本機模擬器套件加入開發工作流程。

事前準備

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

  • 參閱與您平台和產品對應的「開始使用 Firebase」主題 (AppleAndroid網頁版)。
  • 在所選平台下載立即可用的快速入門導覽課程應用程式,然後詳閱並執行程式碼。不妨使用 friendlyEats 快速入門導覽課程應用程式 (iOSAndroid網頁版)。

什麼是 Firebase 本機模擬器套件?

Firebase 本機模擬器套件內含個別服務模擬器,可準確模擬 Firebase 服務的行為。也就是說,您可以將應用程式直接連結至這些模擬器以執行整合測試或 QA,而不需要觸及正式版資料。

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

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

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

  • 單元測試:您可以使用 Firebase Test SDK,透過 Mocha 測試執行器在 Node.js 中編寫單元測試。Test SDK 提供幾種便利的方法,可以載入安全性規則、在測試之間清除本機資料庫,以及管理與模擬器的同步互動。建議您針對不會依賴應用程式邏輯的資料庫互動編寫簡單的測試。
  • 整合測試:模擬器套件中的每個個別產品模擬器都會回應 SDK 和 REST API 呼叫,就像處理實際工作環境 Firebase 服務一樣。因此,您可以使用自己的測試工具編寫獨立整合測試,以本機模擬器套件做為後端。
  • 手動測試:您可以將執行中的應用程式連線至本機模擬器套件,以手動測試 Firebase 應用程式,而不會影響正式應用程式的資料,也不會有設定測試專案的風險。
  • 產品評估:您可以在安全的本機環境中安裝及管理 Firebase Extensions,在帳單費用降到最低的情況下進一步瞭解各項功能。

系統支援哪些 Firebase 功能和平台?

Firebase 本機模擬器套件可讓您使用我們的核心產品,以互通的方式測試程式碼。Cloud Functions 模擬器支援 HTTP 函式、可呼叫的函式,以及由 Cloud Firestore、即時資料庫、Cloud Storage for Firebase、驗證和 Pub/Sub 觸發的背景函式。Cloud Firestore、即時資料庫和 Cloud Storage for Firebase 模擬器內建 Firebase 安全性規則模擬功能。

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

後續步驟

其他原型設計和測試工具

模擬器套件是由其他原型和測試工具補充。

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

  • Cloud Functions 模擬器,這是模擬器套件的一部分。這項模擬器可與 Firestore 模擬器和/或即時資料庫模擬器中的本機即時資料和安全性規則互通。
  • Cloud Functions 殼層可用於互動式疊代函式原型設計和開發作業。殼層採用 Cloud Functions 模擬器,搭配 REPL 樣式的介面來進行開發作業。但不會與 Cloud Firestore 或即時資料庫模擬器整合。您可以使用殼層模擬資料並執行函式呼叫,模擬本機模擬器套件目前不支援的產品 (Analytics (分析)、遠端設定和 Crashlytics) 與產品的互動。
  • Cloud Functions 適用的 Firebase Test SDK,此為含有 mocha 架構的 Node.js,可用於開發函式。實際上,Cloud Functions Test SDK 在 Cloud Functions 殼層上方提供自動化功能。

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

安全性規則測試工具。模擬器套件是最適合用來測試安全性規則的工具組。不過,您也可以使用:

  • 規則 Playground,這是 Firebase 控制台的一部分。「規則 Playground」提供良好的互動式入門體驗,提供安全性規則設計。詳情請參閱「快速驗證 Firebase 安全性規則」。