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 для ваших рабочих процессов разработки.">
Прежде чем начать
Прежде чем приступить к изучению пакета локального эмулятора Firebase, мы рекомендуем вам ознакомиться с продуктами Firebase и моделью разработки Firebase:
- Прочтите раздел «Начало работы с Firebase» для вашей платформы и продуктов ( Apple , Android или Интернет ).
- Загрузите готовое к использованию приложение для быстрого запуска на выбранной вами платформе, затем прочитайте и выполните код. Приложение для быстрого запуска FriendlyEats — хороший выбор ( iOS , Android или веб-версия ).
Что такое Firebase Local Emulator Suite ?
Пакет локальных эмуляторов Firebase состоит из отдельных эмуляторов служб, созданных для точной имитации поведения служб Firebase. Это означает, что вы можете подключить свое приложение напрямую к этим эмуляторам для проведения интеграционного тестирования или контроля качества, не затрагивая производственные данные.
Например, вы можете подключить свое приложение к эмулятору Cloud Firestore , чтобы безопасно читать и записывать тестируемые документы. Эти записи могут запускать функции в эмуляторе Cloud Functions . Однако ваше приложение по-прежнему будет продолжать взаимодействовать с производственными сервисами Firebase, когда эмуляторы недоступны или настроены.
Emulator Suite в ваших локальных рабочих процессах
Ваш рабочий процесс прототипа и тестирования может использовать Local Emulator Suite несколькими способами:
- Модульные тесты : используя Firebase Test SDK, вы можете писать модульные тесты в Node.js с помощью средства запуска тестов mocha. Test SDK предоставляет несколько удобных методов для загрузки правил безопасности, очистки локальной базы данных между тестами и управления синхронным взаимодействием с эмуляторами. Он отлично подходит для написания простых тестов взаимодействия с базой данных, которые не зависят от логики вашего приложения.
- Интеграционные тесты : каждый отдельный эмулятор продукта в Emulator Suite отвечает на вызовы 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 | н/д | н/д | |||||
SDK администратора Node.js | н/д | н/д |
Следующие шаги
Начните с пошагового руководства Local Emulator Suite , в котором показано, как можно автономно создавать прототипы базы данных и Cloud Functions .
Узнайте, как установить и настроить Local Emulator Suite .
Другие инструменты для прототипирования и тестирования
Пакет Emulator Suite дополнен другими инструментами для создания прототипов и тестирования.
Инструменты тестирования облачных функций. Среда Firebase CLI предоставляет вам несколько способов прототипирования и тестирования функций:
- Эмулятор Cloud Functions, входящий в состав Emulator Suite. Этот эмулятор совместим с локальными, актуальными данными и правилами безопасности в эмуляторе Firestore и/или эмуляторе базы данных реального времени.
- Оболочка Cloud Functions, которая позволяет интерактивно итеративно создавать прототипы и разрабатывать функции. Для разработки оболочка использует эмулятор Cloud Functions с интерфейсом в стиле REPL. Интеграция с эмуляторами Cloud Firestore или Realtime Database не предусмотрена. Используя оболочку, вы имитируете данные и выполняете вызовы функций для имитации взаимодействия с продуктами, которые в настоящее время не поддерживаются Local Emulator Suite : Analytics, Remote Config и Crashlytics.
- Firebase Test SDK для облачных функций — платформа Node.js с mocha для разработки функций. По сути, SDK Cloud Functions Test SDK обеспечивает автоматизацию поверх оболочки Cloud Functions.
Дополнительную информацию об оболочке Cloud Functions и SDK Cloud Functions Test SDK можно найти в разделах Тестирование функций в интерактивном режиме и Модульное тестирование облачных функций .
Инструменты тестирования правил безопасности. Emulator Suite — предпочтительный набор инструментов для тестирования правил безопасности. Однако вы также можете использовать:
- Игровая площадка правил, часть консоли Firebase . «Площадка правил» предоставляет отличную интерактивную возможность начать работу с разработкой правил безопасности. Дополнительную информацию см. в разделе Быстрая проверка правил безопасности Firebase .