<!-- markdown -->
# 目次
[TOC]
# Install
## 前提
### firebaseのプロジェクトが用意されていることを確認
Firebaseコンソールにアクセス: https://console.firebase.google.com/
firebaseのCLIインストールされている前提ですが、コマンドラインでも確認できます。
firebase projects:list
### プロジェクトディレクトリに移動
プロジェクトディレクトリへの移動: コマンドプロンプトまたはターミナルで、プロジェクトのルートディレクトリに移動します。
### * とりあえず以下のようにしました。
? Which Firebase emulators do you want to set up? Press Space to select emulators, then Enter to confirm your choices. Authentication Emulator, Hosting Emulator
? Which port do you want to use for the auth emulator? 9099
i Port for hosting already configured: 5000
i Emulator UI already enabled with port: (automatic)
? Would you like to download the emulators now? Yes
Hosting Emulatorは、静的ファイルのサーバです。しかしGo言語で作ったサーバを実行することはできないので、かわりに、Cloud Functions Emulatorを使用します。
Cloud Functions for Firebase をいれたいので 再度インストールしなおし
firebase init emulators
じゃまにならないなら、さいしょからいろいろ、入れておけばいいんじゃないかという考えはまちがっていますかね?
### Firebase プロジェクトの設定を更新
firebase init functions
### Emulatorの設定を更新
firebase init emulators
# Firebase ローカル エミュレータ スイート
Firebase ローカル エミュレータ スイートは、開発者がFirebaseアプリをローカルで効率的に開発・テストするためのツールセットです。以下にポイントを簡潔にまとめます:
## 主な特徴:
- 本番環境に影響を与えずにアプリをテスト可能
- 複数のFirebaseサービスをエミュレート(Firestore, Realtime Database, Storage, Authentication, Hosting, Functions, Pub/Sub, Extensions)
- ユーザーフレンドリーなインターフェース
## 使用シーン:
- プロトタイピング
- 開発
- テスト(単体テスト、統合テスト、手動テスト)
- 継続的インテグレーション
## メリット:
- 本番データを危険にさらさずにテスト可能
- 開発時間の短縮
- 複数のFirebaseサービス間の相互作用をテスト可能
## 注意点:
本番環境での使用は非推奨(パフォーマンスやセキュリティよりも精度重視の設計)
## 主なユースケース:
- 単体テスト:Node.jsでmochaを使用
- 統合テスト:実際のSDKや REST APIを使用
- 手動テスト:実行中のアプリをエミュレータに接続
- プロダクト評価:Firebase Extensionsのテスト
## サポートプラットフォーム:
Android, iOS, Web, Node.js Admin SDK(一部機能制限あり)
## 追加ツール:
- Cloud Functions テストツール
- セキュリティルールテストツール
このツールを使用することで、開発者はFirebaseアプリケーションをより安全かつ効率的に開発・テストすることができます。
# 公式へのリンク
## Firebase ローカル エミュレータ スイートの概要
https://firebase.google.com/docs/emulator-suite?hl=ja
### Firebase CLI リファレンス
https://firebase.google.com/docs/cli?hl=ja
## 紹介ブログ
### Firebase の Local Emulator Suite を使う
https://qiita.com/mml/items/33633f50db0218c97a82
### Firebaseエミュレータを使う
https://qiita.com/ak2ie/items/a50ea4e3da37f904bd1a
### Firebase Emulator Suite を使用したローカル開発
https://firebase.google.com/codelabs/firebase-emulator?hl=ja#0
### Firebase Local Emulator Suiteを使ってFlutterアプリの開発をする準備
https://zenn.dev/shima999ba/articles/b83c4e26f2be18
### Firebase Local Emulator Suiteの環境をDockerで用意する
https://zenn.dev/cbcloud_blog/articles/6256f1a3d05a18
### docker-compose × Firebase Emulatorでローカル環境構築
https://zenn.dev/meijin/articles/marp-firebase-emulator
### Firebase Local Emulator SuiteをDocker環境で構築して、アプリケーションからテストを実行してみた
https://qiita.com/ppco/items/87682b3a14ceb3702dbb