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 или веб).
- Скачайте готовое к запуску приложение для быстрого старта на выбранной платформе, а затем прочитайте и выполните код. Приложение FriendlyEats Quickstart – хороший выбор (iOS, Android или веб-версия).
Что такое Firebase Local Emulator Suite?
Firebase Local Emulator Suite состоит из отдельных эмуляторов сервисов, которые точно имитируют поведение сервисов Firebase. Это означает, что вы можете подключить свое приложение непосредственно к этим эмуляторам для выполнения интеграционного тестирования или контроля качества, не затрагивая производственные данные.
Например, вы можете подключить свое приложение к эмулятору Cloud Firestore, чтобы безопасно читать и записывать документы во время тестирования. Эти записи могут запускать функции в эмуляторе Cloud Functions. Однако, если эмуляторы недоступны или не настроены, приложение продолжит взаимодействовать с рабочими сервисами Firebase.

Emulator Suite в локальных рабочих процессах
Local Emulator Suite можно использовать для создания прототипов и тестирования несколькими способами:
- Модульное тестирование. С помощью Firebase Test SDK можно писать модульные тесты в Node.js, используя средство запуска тестов mocha. Тестовый SDK предоставляет несколько удобных методов для загрузки правил безопасности, очистки локальной базы данных между тестами и управления синхронным взаимодействием с эмуляторами. Он отлично подходит для написания простых тестов для взаимодействия с базой данных, которые не зависят от логики вашего приложения.
- Интеграционные тесты. Каждый эмулятор в Emulator Suite отвечает на вызовы SDK и REST API так же, как и рабочие сервисы Firebase. Поэтому вы можете использовать собственные инструменты тестирования, чтобы писать автономные интеграционные тесты, в которых в качестве серверной части используется Local Emulator Suite.
- Тестирование вручную. Вы можете подключить работающее приложение к Local Emulator Suite, чтобы протестировать приложение Firebase вручную, не рискуя рабочими данными и не настраивая тестовый проект.
- Оценка продуктов. Вы можете устанавливать Firebase Extensions и управлять ими в безопасной локальной среде, чтобы лучше понять их возможности и минимизировать сумму к оплате.
Какие функции и платформы Firebase поддерживаются?
Firebase Local Emulator Suite позволяет тестировать код с нашими основными продуктами. Эмулятор 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.
| 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.
Другие инструменты для прототипирования и тестирования
В дополнение к Emulator Suite можно использовать другие инструменты для создания прототипов и тестирования.
Инструменты тестирования Cloud Functions. Интерфейс командной строки Firebase позволяет создавать прототипы и тестировать функции несколькими способами:
- Эмулятор Cloud Functions, который входит в Emulator Suite. Этот эмулятор совместим с локальными данными, данными в реальном времени и правилами безопасности в эмуляторе Firestore и/или эмуляторе Realtime Database.
- Оболочка Cloud Functions, которая позволяет создавать интерактивные и итеративные прототипы функций и разрабатывать их. В оболочке используется эмулятор Cloud Functions с интерфейсом REPL для разработки. Интеграция с эмуляторами Cloud Firestore или Realtime Database не предусмотрена. С помощью оболочки вы можете имитировать данные и вызовы функций, чтобы смоделировать взаимодействие с продуктами, которые в настоящее время не поддерживаются Local Emulator Suite: Аналитикой, Remote Config и Crashlytics.
- Firebase Test SDK для Cloud Functions – это Node.js с фреймворком mocha для разработки функций. Таким образом, Cloud Functions Test SDK предоставляет автоматизацию поверх оболочки Cloud Functions.
Подробную информацию об оболочке Cloud Functions и Cloud Functions Test SDK можно найти в статьях Интерактивное тестирование функций и Модульное тестирование Cloud Functions.
Инструменты тестирования правил безопасности. Emulator Suite – это предпочтительный набор инструментов для тестирования правил безопасности. Однако вы также можете использовать:
- Песочница правил – часть консоли Firebase. В песочнице правил можно в интерактивном режиме познакомиться с принципами создания правил безопасности. Подробнее о том, как быстро проверить правила безопасности Firebase…