Firebase Local Emulator Suite 是一組進階工具,可供開發人員在本機使用 Cloud Firestore、Realtime Database、Cloud Storage for Firebase、Authentication、Firebase Hosting、Cloud Functions (Beta 版)、Pub/Sub (Beta 版) 和 Firebase Extensions (Beta 版) 建構及測試應用程式。它提供豐富的使用者介面,協助您快速執行及製作原型。
使用本機模擬器套件進行本機開發,非常適合評估、設計原型、開發及持續整合工作流程。
事前準備
在探索 Firebase 本機模擬器套件之前,建議您先瞭解 Firebase 產品和 Firebase 開發模式:
- 請參閱適用於您平台和產品的「開始使用 Firebase」主題 (Apple、Android 或 網頁)。
- 請在所選平台上下載可立即執行的快速入門應用程式,然後仔細閱讀並執行程式碼。FriendlyEats 快速入門應用程式 (iOS、Android 或 網頁) 是個不錯的選擇。
什麼是 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 Firestore、Realtime Database、Cloud Storage for Firebase、Authentication 和 Pub/Sub 觸發的 HTTP 函式、可呼叫函式和背景函式。Cloud Firestore、Realtime Database 和 Cloud 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 | ![]() |
![]() |
![]() |
![]() |
無 | ![]() |
無 |
後續步驟
開始使用 Local Emulator Suite 逐步操作說明,瞭解如何離線製作資料庫和 Cloud Functions 的原型。
其他原型設計和測試工具
模擬器套件可搭配其他原型和測試工具使用。
Cloud Functions 測試工具。Firebase CLI 環境提供多種方法,可用於製作原型並測試函式:
- Cloud Functions 模擬器,是模擬器套件的一部分。這個模擬器可與 Firestore 模擬器和/或即時資料庫模擬器中的本機、即時資料和安全性規則互通。
- Cloud Functions shell,可用於交互式、迭代式函式原型設計和開發。這個殼層會使用 Cloud Functions 模擬器,並提供 REPL 風格的介面,方便開發人員進行開發。不提供與 Cloud Firestore 或 Realtime 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 安全性規則」。