Saltar a contenido

Capítulo 39 — Firebase Emulator Suite: Desarrollo, pruebas y depuración profesional

Recursos visuales propuestos

Antes de desarrollar el capítulo es útil separar los recursos que explican la idea general de “desarrollo local con emuladores” de aquellos que describen la arquitectura exacta del entorno. La lista de componentes del Emulator Suite, el flujo de desarrollo local visto desde el punto de vista del desarrollador, el panel visual del Emulator Suite, la comparación desarrollo local vs producción y los casos de uso deben representarse como imágenes didácticas, porque su objetivo principal es pedagógico: ayudar al lector a entender qué es, para qué sirve y qué problemas resuelve trabajar con emuladores sin entrar todavía en el detalle técnico de puertos, protocolos o integración interna.[page:2]

En cambio, la arquitectura completa del entorno local, la comunicación entre emuladores, el flujo Cliente → Emulator Suite → servicios Firebase reales (cuando se combinan) y la arquitectura de desarrollo profesional basada en entornos locales y remotos deben representarse como diagramas SVG, porque necesitan mostrar cómo interactúan procesos, servicios emulados, CLI, aplicaciones cliente, pipelines y recursos en la nube. En estos casos la precisión de los componentes y sus relaciones es más importante que la apariencia visual.[page:1][page:2]

Imágenes didácticas

  1. Componentes del Emulator Suite. Imagen didáctica para mostrar a alto nivel qué servicios se pueden emular (Firestore, Authentication, Functions, Storage, Hosting, Pub/Sub, etc.).[page:2]
  2. Flujo de desarrollo local. Imagen didáctica para ilustrar el ciclo “editar código → ejecutar emuladores → probar → depurar” desde el punto de vista del desarrollador.
  3. Panel del Emulator Suite. Imagen didáctica del panel web donde se visualizan bases de datos, funciones, solicitudes y reglas.
  4. Comparación desarrollo local vs producción. Imagen didáctica que resuma riesgos, costos y beneficios de cada entorno.
  5. Casos de uso. Imagen didáctica que relacione escenarios (plataforma educativa, sistema documental, APIs internas) con el uso de los emuladores.

Diagramas SVG

  1. Arquitectura completa del entorno local. SVG para representar la app cliente, la CLI, los emuladores (Firestore, Auth, Functions, Storage, Hosting, Pub/Sub, Eventarc, Data Connect) y su relación con el proyecto Firebase/GCP real.[page:1][page:2]
  2. Comunicación entre emuladores. SVG para mostrar cómo una función emulada puede escuchar cambios en Firestore emulado, publicar en Pub/Sub emulado o servir contenido a través de Hosting emulado.
  3. Flujo Cliente → Emulator Suite → servicios Firebase. SVG para visualizar claramente cuándo las llamadas van contra emuladores y cuándo contra servicios de producción, y cómo se decide este ruteo en el código.
  4. Arquitectura de desarrollo profesional. SVG para integrar repositorio Git, CI, entornos locales con emuladores, ambientes de staging y producción en la nube.

Objetivos de aprendizaje

Al finalizar este capítulo, el lector será capaz de:

  • Comprender qué es Firebase Emulator Suite y por qué es una pieza central en un flujo de desarrollo profesional con Firebase.[page:1]
  • Diferenciar claramente desarrollo local, staging y producción, entendiendo qué riesgos se reducen al trabajar con emuladores.
  • Configurar Emulator Suite mediante Firebase CLI, firebase.json y firebase emulators:start, seleccionando servicios, puertos y opciones de persistencia.[page:1][page:2]
  • Conectar su aplicación web o móvil a los emuladores de Firestore, Authentication, Cloud Functions, Storage y Hosting.[page:2]
  • Diseñar datos de prueba, simular usuarios y eventos, y ejecutar pruebas integrales sin impactar la infraestructura real.
  • Exportar e importar estados de los emuladores para compartir conjuntos de datos consistentes dentro de un equipo.
  • Integrar Emulator Suite en el flujo de trabajo del proyecto educativo oficial del libro, incluyendo desarrollo colaborativo y preparación antes de desplegar a producción.

Introducción

¿Qué es Firebase Emulator Suite?

Firebase Emulator Suite es un conjunto de emuladores locales que reproduce el comportamiento de varios servicios de Firebase en tu máquina de desarrollo. La documentación lo define como un entorno local para desarrollar, ejecutar y probar aplicaciones que usan Firebase sin tocar los recursos de producción.[page:1]

Desde un punto de vista práctico, esto significa que puedes levantar una “mini Firebase” en tu equipo: una instancia de Firestore, Authentication, Functions, Storage, Hosting, Pub/Sub, Eventarc, Realtime Database y otros servicios emulados, con los que tu aplicación interactúa como si estuviera hablando con la nube, pero sin enviar ni leer datos reales ni consumir cuota.[page:1][page:2]

¿Por qué utilizar un entorno local?

Trabajar directamente contra producción es una de las fuentes más frecuentes de problemas en proyectos reales: datos de prueba mezclados con datos reales, costos inesperados, riesgos de seguridad, reglas mal configuradas que se prueban “en vivo”, o errores en funciones que disparan cargas de trabajo no controladas. Un entorno local emulado permite:

  • experimentar sin miedo a romper datos reales;
  • probar reglas de seguridad sin exponer información;
  • reproducir escenarios complejos sin afectar usuarios finales;
  • desarrollar más rápido, sin depender de latencia de red o cuotas de producción.

Diferencias entre desarrollo y producción

En un flujo profesional, desarrollo y producción no son versiones del mismo entorno: son entornos distintos con objetivos y riesgos diferentes. Producción debe ser estable, segura y predecible; desarrollo, flexible y tolerante al cambio.

Emulator Suite ayuda a reforzar esa separación al proporcionar un espacio local donde los desarrolladores pueden probar ideas, experimentar con reglas, depurar funciones y simular tráfico sin tocar servicios remotos.[page:1]

Beneficios del desarrollo offline

Desarrollar contra emuladores trae beneficios claros:

  • Productividad: iteraciones rápidas, sin esperar despliegues o sincronizaciones remotas.
  • Seguridad: no se exponen datos reales ni se manipulan credenciales de usuarios de producción.
  • Costos: se evita consumir cuota de lectura/escritura, invocaciones de funciones o ancho de banda de Storage.
  • Reproducibilidad: el estado del entorno puede exportarse e importarse, permitiendo que todo el equipo trabaje con datos de prueba coherentes.[page:1]

Desarrollo completo

Arquitectura

Componentes de Emulator Suite

Según la documentación oficial, la Local Emulator Suite incluye emuladores para varios servicios clave: Cloud Firestore, Realtime Database, Cloud Storage, Authentication, Cloud Functions, Cloud Pub/Sub, Firebase Hosting, Eventarc y otros que se van incorporando con el tiempo.[page:1]

Cada emulador expone endpoints locales específicos (puertos) y se coordina con los demás a través de la CLI, de manera que una función emulada pueda responder a cambios en Firestore emulado, y Hosting pueda servir contenido que hable con esos mismos servicios.[page:1]

Firebase CLI

Firebase CLI es la puerta de entrada para trabajar con Emulator Suite. Es la herramienta que se usa para:

  • inicializar configuración de emuladores (firebase init emulators);
  • arrancar y detener emuladores (firebase emulators:start, firebase emulators:exec);
  • definir puertos y rutas en firebase.json;
  • exportar e importar estados.

La documentación presenta la CLI como la forma recomendada de gestionar emuladores en el flujo de desarrollo, integrando comandos manuales y scripts automatizados.[page:1]

Comunicación entre emuladores

Cuando varios emuladores están activos, se comportan como un pequeño entorno integrado. Por ejemplo:

  • Firestore Emulator recibe lecturas y escrituras;
  • Functions Emulator escucha eventos de Firestore, Auth, Pub/Sub emulados;
  • Authentication Emulator genera usuarios de prueba cuyos tokens se aceptan en Firestore emulado;
  • Hosting Emulator sirve la aplicación que consume esos servicios locales.[page:1][page:2]

Esta comunicación permite probar flujos completos de extremo a extremo: desde la acción del usuario en el cliente hasta la escritura en Firestore y la ejecución de funciones.

Flujo de ejecución local

Un flujo típico de ejecución local es:

  1. Configuras firebase.json con los emuladores que quieres usar.
  2. Arrancas el conjunto con firebase emulators:start.
  3. Ejecutas la app web o móvil apuntando a los endpoints locales.
  4. Interactúas con la app; las solicitudes van a los emuladores.
  5. Observas en el panel del Emulator Suite las lecturas, escrituras, triggers y logs.[page:1]

Emuladores disponibles

Authentication Emulator

El emulador de Authentication permite crear, actualizar y borrar usuarios de prueba, iniciar sesión con distintos proveedores admitidos y probar reglas de seguridad basadas en request.auth sin tocar usuarios reales. Es ideal para simular roles, pruebas de acceso y cambios de contraseña.[page:1]

Firestore Emulator

El emulador de Cloud Firestore reproduce la API de Firestore y permite realizar operaciones de lectura y escritura, probar reglas de seguridad, validar estructuras de datos y ejecutar funciones que reaccionan a cambios en colecciones y documentos.[page:2]

La documentación de conexión recomienda, por ejemplo, usar firebase emulators:start y configurar la app con el helper de conexión a emulador (como connectFirestoreEmulator en el SDK web) para redirigir llamadas a Firestore local en vez de al servidor remoto.[page:2]

Cloud Functions Emulator

Functions Emulator ejecuta funciones HTTP, background y triggered (por Firestore, Auth, Pub/Sub, etc.) en tu máquina. Permite depurar, ver logs instantáneos, probar lógica compleja y medir tiempos de ejecución antes de desplegar a producción.[page:1]

Cloud Storage Emulator

Cloud Storage Emulator permite trabajar con buckets y archivos de prueba. Se pueden simular subidas, descargas, reglas de acceso y triggers de funciones que reaccionan a cambios en Storage, sin ocupar espacio en buckets reales.[page:1]

Hosting Emulator

El emulador de Hosting sirve archivos estáticos y, cuando corresponde, integraciones con funciones y rewrites. Permite probar rutas, comportamiento de SPA, encabezados y lógica de reescritura localmente.[page:1]

Pub/Sub Emulator

El emulador de Pub/Sub reproduce el comportamiento del servicio de mensajería, permitiendo probar funciones que se disparan por mensajes de Pub/Sub sin usar la infraestructura real. Esto es especialmente útil para pipelines de tareas y colas internas.[page:1]

Eventarc Emulator

El emulador de Eventarc permite simular eventos distribuidos más complejos dentro de Firebase y Google Cloud. Aunque su soporte evoluciona, ayuda a probar aplicaciones basadas en eventos sin desplegar a la nube.[page:1]

Data Connect Emulator (si aplica)

Cuando Firebase Data Connect está disponible con emulación, el emulador correspondiente permite probar consultas y mutaciones de datos estructurados localmente, integrándose con los demás emuladores.

Configuración

Instalación

Para usar Emulator Suite, es necesario tener instalado Firebase CLI y Node.js. Una vez instalada la CLI, los emuladores se descargan y gestionan automáticamente cuando se ejecutan comandos como firebase emulators:start.[page:1]

firebase init emulators

El comando firebase init emulators guía al desarrollador para seleccionar qué emuladores quiere usar en un proyecto, configurar puertos y generar secciones relevantes en firebase.json.[page:1]

firebase.json

firebase.json es el archivo de configuración central donde se definen servicios y emuladores. Para Emulator Suite, incluye una sección emulators con los servicios habilitados, puertos preferidos y opciones de import/export.[page:1]

Selección de servicios

Durante la inicialización y más tarde editando firebase.json, puedes decidir qué servicios se emularán: Firestore, Auth, Functions, Storage, Hosting, Pub/Sub, etc. Esto permite adaptar el entorno local a las necesidades de cada proyecto.[page:1]

Configuración de puertos

Cada emulador expone un puerto local que puede personalizarse. Configurar puertos explícitos ayuda a evitar conflictos y facilita la documentación del entorno.

Persistencia de datos

Los emuladores pueden configurarse para mantener datos entre ejecuciones mediante directorios de import/export. Esto es útil cuando quieres conservar un conjunto de datos de prueba estable o compartirlo con otros desarrolladores.[page:1]

Exportación

La CLI permite exportar el estado actual de los emuladores a un directorio, incluyendo datos de Firestore, Auth, Storage y otros.[page:1]

Importación

Del mismo modo, firebase emulators:start --import permite arrancar los emuladores cargando un snapshot previo, de modo que el entorno local se inicializa con datos conocidos.[page:1]

Integración

Firestore

Para conectar tu aplicación al emulador de Firestore, la documentación indica usar helpers como connectFirestoreEmulator en el SDK web o variables de entorno equivalentes en Admin SDK. Esto hace que todas las operaciones de lectura y escritura de Firestore se dirijan al host y puerto locales configurados.[page:2]

Authentication

Authentication Emulator se expone también como host:puerto. Las apps cliente o Admin SDK deben configurarse para enviar las operaciones de autenticación a ese endpoint durante desarrollo, por ejemplo con connectAuthEmulator en el SDK web o la configuración correspondiente en otros entornos.[page:1]

Cloud Functions

Las funciones emuladas pueden invocarse mediante rutas HTTP locales o triggers de otros emuladores (Firestore, Pub/Sub, etc.). Durante el desarrollo es habitual usar firebase emulators:start --only functions,firestore,auth para una experiencia integrada sin levantar todos los servicios a la vez.[page:1]

Storage

El emulador de Storage se integra con las SDKs mediante configuración similar, usando connectStorageEmulator en web o variables de entorno equivalentes en Admin para cambiar el endpoint a un host local.[page:1]

Hosting

El emulador de Hosting sirve la aplicación en un puerto HTTP local. Al integrar rewrites, redirects y funciones emuladas, puede simular casi todo el comportamiento de producción desde una sola URL local.[page:1]

Remote Config (limitaciones)

Remote Config no tiene un emulador completo local, de modo que ciertas pruebas deberán realizarse contra el servicio real o mediante estrategias alternativas. La documentación sugiere usar entornos de desarrollo bien separados y tener cuidado de no usar Remote Config como sustituto de una base de datos local.[page:1]

Cloud Messaging (consideraciones)

FCM tampoco se emula de extremo a extremo en todos sus flujos, por lo que las pruebas de notificaciones push seguirán requiriendo uso controlado de entornos reales o dispositivos de prueba. Emulator Suite puede ayudar en la lógica que rodea el envío (por ejemplo, triggers que escriben mensajes pendientes en Firestore), pero la entrega real de push seguirá dependiendo de FCM en la nube.

Pruebas

Desarrollo local

El objetivo principal de Emulator Suite es permitir desarrollo local completo: la app cliente ejecuta el mismo código que en producción, pero las llamadas se redirigen a emuladores en lugar de servicios remotos.

Datos de prueba

Los datos de prueba se cargan directamente en Firestore, Auth, Storage y otros emuladores, ya sea manualmente desde el panel o automáticamente mediante scripts que usan Admin SDK apuntando a los endpoints locales.

Simulación de usuarios

Authentication Emulator permite crear usuarios con distintos roles, estados y datos de perfil. Esto ayuda a probar reglas, pantallas y flujos sin exponer cuentas reales ni forzar pruebas con cuentas de producción.

Simulación de eventos

Functions Emulator, Pub/Sub Emulator y Firestore Emulator permiten simular eventos complejos: triggers de escritura, mensajes en colas, cambios de estado, etc. Esto es clave para la plataforma educativa del libro, donde una escritura en Firestore puede generar credenciales, notificaciones, registros administrativos o procesos de automatización.

Pruebas integrales

Al combinar varios emuladores, puedes ejecutar pruebas end-to-end: la app escribe en Firestore, se disparan funciones emuladas, se actualizan datos, el usuario de prueba ve resultados en la UI, y todo sin tocar la nube. Este enfoque permite detectar errores de integración antes de que lleguen a staging o producción.

Depuración

Los emuladores integrados con CLI y panel web facilitan ver logs, inspeccionar documentos, revisar reglas y depurar sin salir del entorno local. El panel de Emulator Suite ofrece vistas específicas para Firestore, Auth, Functions, Storage y otros servicios, lo que acelera el diagnóstico de problemas.[page:1]

Rendimiento

Ventajas frente a producción

Trabajar localmente reduce latencia, elimina dependencias de red y permite iterar más rápido, especialmente para escenarios donde se despliegan funciones o reglas con frecuencia. La documentación resalta que Emulator Suite está optimizado para desarrollo y pruebas, no para benchmarking de producción.[page:1]

Tiempo de respuesta

Los emuladores suelen responder más rápido que los servicios remotos en la mayoría de casos, lo cual acelera el ciclo editar–probar–corregir. Esto no significa que los tiempos local reflejen exactamente la latencia en la nube, pero sí que el feedback durante desarrollo es mucho más inmediato.

Costos

Al usar emuladores, no consumes cuota de lectura/escritura de Firestore, invocaciones de Functions ni ancho de banda de Storage. Esto tiene un impacto directo en el costo del proyecto, especialmente en equipos grandes o con ciclos de desarrollo intensivos.[page:1]

Productividad

Emulator Suite está diseñado para aumentar productividad: permite probar reglas, funciones y flujos completos sin esperar despliegues ni tocar entornos remotos. La documentación enfatiza este objetivo como uno de los beneficios clave del paquete.[page:1]

Ejemplos paso a paso

Ejemplo 1: levantar el entorno local para el proyecto educativo

  1. Instala Firebase CLI y Node.js si todavía no los tienes.[page:1]
  2. En el directorio del proyecto oficial del libro, ejecuta firebase init emulators y selecciona Firestore, Auth, Functions, Storage y Hosting.[page:1]
  3. Ajusta firebase.json para definir puertos y opciones de import/export.
  4. Ejecuta firebase emulators:start.
  5. Abre la URL del Hosting Emulator y verifica que la app se conecta a los emuladores.

Ejemplo 2: simular usuarios y roles

  1. Usa el panel de Authentication Emulator para crear usuarios de prueba con distintos correos, roles y estados.
  2. Inicia sesión con cada uno desde la app para comprobar que las reglas de Firestore emulado responden como se espera.

Ejemplo 3: probar generación de credenciales digitales

  1. En Firestore Emulator, crea documentos de prueba que representen solicitudes de credenciales.
  2. Deja que Functions Emulator procese esas solicitudes y genere registros en Storage Emulator.
  3. Verifica que la app pueda descargar y mostrar esas credenciales desde Hosting Emulator.

Ejemplo 4: automatizar pruebas de integración

  1. Escribe pruebas automatizadas (por ejemplo con Node.js o herramientas de tu stack) que levanten emuladores con firebase emulators:exec.
  2. Ejecuta secuencias de creación de usuarios, escritura en Firestore y verificación de resultados.
  3. Integra estas pruebas en tu pipeline de CI antes de desplegar a staging.

Casos reales

Plataforma educativa

Emulator Suite permite simular toda la vida académica sin tocar datos reales: inscripciones, asignación de cursos, entrega de tareas, generación de credenciales y flujos administrativos.

Sistema documental

En un sistema documental, se pueden probar flujos de carga, indexación y revisión de documentos, incluyendo triggers de funciones y reglas de acceso, sin almacenar documentos sensibles en la nube.

Credenciales digitales

Las credenciales digitales de alumnos, docentes o personal administrativo pueden generarse, firmarse y almacenarse en Storage Emulator, verificando flujos de acceso y caducidad antes de activar la función en producción.

Automatización institucional

Emulator Suite permite validar automatizaciones que dependen de Pub/Sub, Eventarc y Functions sin riesgo de generar cascadas de trabajo en sistemas reales.

APIs

Las APIs internas o externas implementadas sobre Functions HTTP pueden ejercitarse con pruebas automatizadas contra el endpoint emulado, incluyendo casos de error y carga moderada.

Desarrollo colaborativo

Equipos grandes pueden compartir snapshots de datos de prueba con export/import, garantizando que todos trabajan con un entorno local comparable. Esto reduce “funciona en mi máquina” y mejora la reproducibilidad de bugs.

Comparaciones técnicas

Desarrollo directo en producción vs Emulator Suite

Enfoque Ventajas Riesgos
Directo en producción Menos setup inicial Datos reales, riesgo de seguridad, costos, difícil reproducibilidad
Emulator Suite Iteraciones rápidas, sin afectar producción, export/import Requiere configuración inicial y disciplina de entornos

Emuladores vs servicios reales

Aspecto Emuladores Servicios reales
Latencia Muy baja, local Dependiente de red y región
Costos Cero uso de cuotas Consume cuota y facturación
Realismo Suficiente para desarrollo y pruebas Comportamiento definitivo

Buenas prácticas

Separación de ambientes

Mantén entornos claramente separados: local con emuladores, dev o staging con servicios reales pero datos de prueba, y producción con datos reales y acceso restringido.

Datos ficticios

Incluso en emuladores, usa datos ficticios o anonimizados para no propagar información sensible inadvertidamente.

Automatización

Automatiza arranque y parada de emuladores, carga de datos de prueba y ejecución de pruebas para aumentar productividad y consistencia.

Integración con Git

Versiona firebase.json, scripts de emulación y documentación de puertos y endpoints. Esto hace que el entorno local forme parte del contrato del proyecto.

Limpieza de datos

Regenera o limpia periódicamente datos de prueba para mantener los emuladores manejables y evitar “basura” histórica que confunda resultados.

Errores frecuentes

  • No apuntar el SDK a emuladores en desarrollo.
  • Probar reglas directamente en producción.
  • No aprovechar export/import para reproducir bugs.
  • Depender únicamente del entorno local y no validar luego en staging.

Checklist para desarrollo profesional

  • firebase.json configurado con emuladores apropiados.[page:1]
  • Scripts para firebase emulators:start y firebase emulators:exec.
  • SDK configurado para usar emuladores en desarrollo y servicios reales en producción.[page:2]
  • Datos de prueba y scripts de inicialización.
  • Estrategia de export/import de estados.[page:1]
  • Pruebas automatizadas que corren contra emuladores.
  • Documentación de puertos, endpoints y uso del panel del Emulator Suite.

Resumen

Firebase Emulator Suite es el pilar del desarrollo local profesional con Firebase. Permite simular Firestore, Authentication, Functions, Storage, Hosting y otros servicios clave en tu máquina, reduciendo riesgos, costos y dependencias de producción.[page:1]

Al integrar los emuladores con Firebase CLI, firebase.json y las SDKs cliente y Admin, es posible construir un entorno local completo donde probar reglas, lógica backend, flujos de datos y vistas de la aplicación antes de desplegar cambios al entorno real.[page:2]

En el contexto del proyecto educativo del libro, Emulator Suite habilita un workflow en el que desarrolladores pueden migrar temporalmente la plataforma a un entorno local, probar nuevas funciones, reglas y procesos de automatización, y compartir estados de prueba consistentes con otros miembros del equipo, todo sin tocar datos ni recursos de producción.

Conceptos clave

  • Firebase Emulator Suite.[page:1]
  • Firebase CLI.[page:1]
  • Emulador de Firestore.[page:2]
  • Emulador de Authentication.[page:1]
  • Emulador de Cloud Functions.[page:1]
  • Emulador de Cloud Storage.[page:1]
  • Emulador de Hosting.[page:1]
  • Emulador de Pub/Sub.[page:1]
  • Emulador de Eventarc.[page:1]
  • firebase.json y sección emulators.[page:1]
  • Exportación e importación de datos.[page:1]
  • Conexión de SDKs a emuladores.[page:2]

Preguntas de repaso

  1. ¿Qué es Firebase Emulator Suite y qué problema resuelve en el flujo de desarrollo profesional?[page:1]
  2. ¿Qué beneficios aporta un entorno local emulado en términos de seguridad, costos y productividad?[page:1]
  3. ¿Cómo se configura Emulator Suite mediante Firebase CLI y firebase.json?[page:1]
  4. ¿Qué emuladores están disponibles y qué servicios reales representan?[page:1]
  5. ¿Cómo se conectan Firestore y Authentication desde el cliente a sus respectivos emuladores?[page:2]
  6. ¿Qué papel juega el panel del Emulator Suite en la depuración y visualización de datos?[page:1]
  7. ¿Qué limitaciones existen para servicios como Remote Config y Cloud Messaging en entornos emulados?[page:1]
  8. ¿Cómo se usan exportación e importación para compartir estados de prueba en un equipo?[page:1]
  9. ¿Qué errores frecuentes se cometen al trabajar sin emuladores o usándolos de forma incorrecta?
  10. ¿Cómo integrarías Emulator Suite en el flujo de trabajo del proyecto educativo del libro?

Ejercicios prácticos

  1. Configura firebase.json para usar los emuladores de Firestore, Auth, Functions, Storage y Hosting en el proyecto oficial.[page:1]
  2. Crea un script que levante los emuladores, cargue datos de prueba en Firestore y Auth, y luego ejecute una suite de pruebas automatizadas.
  3. Simula tres tipos de usuarios (alumno, docente, administrador) en Authentication Emulator y verifica reglas de Firestore emulado para cada uno.
  4. Diseña un flujo de generación y descarga de credenciales digitales sólo usando emuladores y valida que funcione de extremo a extremo.
  5. Exporta el estado de los emuladores, compártelo con otro desarrollador del equipo y pídele que reproduzca un bug específico.
  6. Compara tiempos de respuesta entre ejecutar una funcionalidad usando emuladores y hacerlo contra un entorno remoto de desarrollo.
  7. Integra firebase emulators:exec en una pipeline de CI para que las pruebas de integración se ejecuten siempre contra emuladores antes de un deploy.
  8. Documenta internamente puertos, endpoints y flujos básicos para nuevos miembros del equipo.
  9. Identifica qué partes del proyecto aún no se benefician de Emulator Suite y elabora un plan para incorporarlas.
  10. Crea tu propio checklist interno para revisar el entorno emulado antes de empezar un día de trabajo.

Bibliografía y referencias oficiales

  • Introduction to Firebase Local Emulator Suite: https://firebase.google.com/docs/emulator-suite [page:1]
  • Connect your app to the Cloud Firestore Emulator: https://firebase.google.com/docs/emulator-suite/connect_firestore [page:2]