Firebase Local Emulator Suite — это набор передовых инструментов для разработчиков, желающих создавать и тестировать приложения локально, используя Cloud Firestore , Realtime Database , Cloud Storage for Firebase , Authentication , Firebase Hosting , Cloud Functions (бета-версия), Pub/Sub (бета-версия) и Firebase Extensions (бета-версия). Он предоставляет богатый пользовательский интерфейс, который поможет вам быстро начать работу и создавать прототипы.
Локальная разработка с использованием Local Emulator Suite может хорошо подойти для ваших рабочих процессов оценки, прототипирования, разработки и непрерывной интеграции.

Прежде чем начать
Прежде чем приступить к изучению Firebase Local Emulator Suite, рекомендуем ознакомиться с продуктами Firebase и моделью разработки Firebase:
- Ознакомьтесь с разделами «Начало работы с Firebase» для вашей платформы и продуктов ( Apple , Android или Web ).
- Загрузите готовое к запуску приложение для быстрой разработки на выбранной вами платформе, затем ознакомьтесь с кодом и выполните его. Приложение FriendlyEats для быстрой разработки — хороший выбор ( iOS , Android или веб-версия ).
Что такое Firebase Local Emulator Suite ?
Пакет локальных эмуляторов Firebase состоит из отдельных эмуляторов сервисов, созданных для точного воспроизведения поведения сервисов Firebase. Это означает, что вы можете напрямую подключать свое приложение к этим эмуляторам для проведения интеграционного тестирования или контроля качества без доступа к производственным данным.
Например, вы можете подключить свое приложение к эмулятору Cloud Firestore , чтобы безопасно читать и записывать документы в тестовой среде. Эти операции записи могут запускать функции в эмуляторе Cloud Functions . Однако ваше приложение будет продолжать взаимодействовать с производственными сервисами Firebase, даже если эмуляторы недоступны или не настроены.

Пакет эмуляторов в ваших локальных рабочих процессах
В процессе создания прототипов и тестирования вы можете использовать пакет локальных эмуляторов несколькими способами:
- Модульные тесты : используя Firebase Test SDK, вы можете писать модульные тесты в Node.js с помощью тестового фреймворка Mocha. Test SDK предоставляет несколько удобных методов для загрузки правил безопасности, очистки локальной базы данных между тестами и управления синхронным взаимодействием с эмуляторами. Он отлично подходит для написания простых тестов взаимодействия с базой данных, которые не зависят от логики вашего приложения.
- Интеграционные тесты : каждый отдельный эмулятор продукта в наборе эмуляторов отвечает на вызовы SDK и REST API так же, как и сервисы Firebase в рабочей среде. Таким образом, вы можете использовать собственные инструменты тестирования для написания автономных интеграционных тестов, использующих Local Emulator Suite в качестве бэкэнда.
- Ручное тестирование : вы можете подключить работающее приложение к Local Emulator Suite , чтобы протестировать приложение Firebase вручную, не рискуя данными из рабочей среды и не создавая тестовый проект.
- Оценка продукта : вы можете устанавливать и управлять Firebase Extensions в безопасной локальной среде, лучше понимать их возможности и минимизировать затраты на оплату.
Какие функции и платформы Firebase поддерживаются?
Набор локальных эмуляторов Firebase позволяет тестировать ваш код с использованием наших основных продуктов в совместимом режиме. Эмулятор Cloud Functions поддерживает HTTP-функции, вызываемые функции и фоновые функции, запускаемые Cloud Firestore , Realtime Database , Cloud Storage for Firebase , Authentication и Pub/Sub . В эмуляторы Cloud Firestore , Realtime Database и Cloud Storage for Firebase встроен механизм эмуляции Firebase Security Rules .
| Облако Магазин огней | В реальном времени База данных | Облако Хранилище для Firebase | Аутентификация | Облако Функции | Облако Паб/Саб | Расширения | |
|---|---|---|---|---|---|---|---|
| Android SDK | Н/Д | Н/Д | |||||
| iOS SDK | Н/Д | Н/Д | |||||
| Веб-SDK | Н/Д | Н/Д | |||||
| Node.js Admin SDK | Н/Д | Н/Д |
Следующие шаги
Начните с пошагового руководства Local Emulator Suite , которое покажет, как можно создавать прототипы баз данных и Cloud Functions в автономном режиме.
Узнайте, как установить и настроить Local Emulator Suite .
Другие инструменты для прототипирования и тестирования
Пакет эмуляторов дополняется другими инструментами для создания прототипов и тестирования.
Инструменты тестирования Cloud Functions. Среда Firebase CLI предоставляет несколько способов создания прототипов и тестирования функций:
- Эмулятор облачных функций, входящий в состав пакета эмуляторов Emulator Suite. Этот эмулятор совместим с локальными данными в реальном времени и правилами безопасности в эмуляторе Firestore и/или эмуляторе базы данных реального времени.
- Оболочка Cloud Functions, позволяющая создавать интерактивные итеративные прототипы и разрабатывать функции. Для разработки используется эмулятор Cloud Functions с интерфейсом в стиле REPL. Интеграция с эмуляторами Cloud Firestore или Realtime Database не предусмотрена. С помощью оболочки вы можете имитировать данные и вызывать функции для взаимодействия с продуктами, которые в настоящее время не поддерживаются Local Emulator Suite : Analytics, Remote Config и Crashlytics.
- Firebase Test SDK для Cloud Functions — это Node.js-фреймворк с Mocha для разработки функций. По сути, Cloud Functions Test SDK обеспечивает автоматизацию поверх оболочки Cloud Functions.
Более подробную информацию об оболочке Cloud Functions и SDK для тестирования Cloud Functions можно найти в разделах «Интерактивное тестирование функций» и «Модульное тестирование Cloud Functions» .
Инструменты для тестирования правил безопасности. Предпочтительным набором инструментов для тестирования правил безопасности является Emulator Suite. Однако вы также можете использовать:
- Игровая площадка правил (Rules Playground) — часть консоли Firebase . Она предоставляет отличный интерактивный инструмент для начала работы с созданием правил безопасности. Для получения дополнительной информации см. раздел «Быстрая проверка правил безопасности Firebase» .