Firebase Local Emulator Suite — это набор расширенных инструментов для разработчиков, которые хотят создавать и тестировать приложения локально, используя Cloud Firestore, базу данных в реальном времени, облачное хранилище для Firebase, аутентификацию, хостинг Firebase, облачные функции (бета), Pub/Sub (бета), и расширения Firebase (бета-версия). Он предоставляет богатый пользовательский интерфейс, который поможет вам быстро запустить и создать прототип.
Локальная разработка с помощью 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, когда эмуляторы недоступны или настроены.
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 в безопасной локальной среде и лучше понимать их возможности, сводя к минимуму расходы на выставление счетов.
Какие функции и платформы Firebase поддерживаются?
Пакет Firebase Local Emulator Suite позволяет тестировать код с помощью наших основных продуктов с возможностью взаимодействия. Эмулятор Cloud Functions поддерживает функции HTTP, вызываемые функции и фоновые функции, запускаемые Cloud Firestore, базой данных реального времени, облачным хранилищем для Firebase, аутентификацией и Pub/Sub. Эмуляторы Cloud Firestore, Realtime Database и Cloud Storage for Firebase имеют встроенную эмуляцию правил безопасности Firebase.
Облако пожарный магазин | В реальном времени База данных | Облако Хранилище для Firebase | Аутентификация | Облако Функции | Облако Паб/Саб | Расширения | |
---|---|---|---|---|---|---|---|
SDK для Android | ![]() | ![]() | ![]() | ![]() | ![]() | н/д | н/д |
iOS SDK | ![]() | ![]() | ![]() | ![]() | ![]() | н/д | н/д |
Веб-SDK | ![]() | ![]() | ![]() | ![]() | ![]() | н/д | н/д |
Пакет SDK для администрирования Node.js | ![]() | ![]() | ![]() | ![]() | н/д | ![]() | н/д |
Следующие шаги
Начните с пошагового руководства Local Emulator Suite, в котором показано, как можно автономно создавать прототипы базы данных и облачных функций.
Узнайте, как установить и настроить 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 обеспечивает автоматизацию поверх оболочки Cloud Functions.
Дополнительные сведения об оболочке Cloud Functions и пакете SDK для тестирования Cloud Functions можно найти в разделах Тестирование функций в интерактивном режиме и Модульное тестирование Cloud Functions .
Инструменты тестирования правил безопасности. Emulator Suite — предпочтительный набор инструментов для тестирования правил безопасности. Однако вы также можете использовать:
- Площадка правил, часть консоли Firebase. Площадка правил предоставляет отличный интерактивный опыт для начала работы с дизайном правил безопасности. Дополнительные сведения см. в разделе Быстрая проверка правил безопасности Firebase .