Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

404
Vistas
¿Por qué process.env.FIRESTORE_EMULATOR_HOST no estará definido en el entorno de prueba? a pesar de que he ejecutado el emulador

estoy usando

  • Nodo 14
  • prueba de funciones de base de fuego: 0.2.3
  • base de fuego-admin: 9.6.0
  • funciones firebase: 3.13.2
  • herramientas de base de fuego: 9.10.0
  • moca: 8.3.2,
  • ts-nodo: 9.1.1

si firebase emulators:start

entonces esperaré que process.env tenga propiedades como

 "FUNCTIONS_EMULATOR": "true", "FIRESTORE_EMULATOR_HOST": "localhost:8080"

ahora necesito crear pruebas para mi función en la nube usando mocha, lo probaré usando Firestore y el emulador de funciones, doy mi nombre de archivo events_cron_job.test.ts

después de ejecutar el simulador, trato de registrar en la consola esos valores y obtuve indefinidos así

ingrese la descripción de la imagen aquí

Espero

 console.log(process.env.FUNCTIONS_EMULATOR) // will be "true" console.log(process.env.FIRESTORE_EMULATOR_HOST) // will be "localhost:8080"

Creo que esto solo sucede en un entorno de prueba (estoy usando mocha), tengo disparadores http regulares y funciona como se esperaba

antes de ejecutar el emulador, trato de ejecutar esto en la terminal

 export FIRESTORE_EMULATOR_HOST="localhost:8080" export FUNCTIONS_EMULATOR="true"

y luego ejecute firebase emulators:start , pero el resultado será el mismo, todavía no estoy definido para esos valores

porque esos valores no están definidos, entonces si mi computadora portátil está desconectada de Internet, esta prueba no se ejecutará (es decir, solo accederá a los datos en el servidor de producción, ¡no al emulador!), Espero que la prueba aún se ejecute incluso si hay No hay conexión a Internet ya que uso el emulador.

Ejecuto la prueba de mocha usando

 mocha -r ts-node/register src/tests/cloud_function_tests --recursive --extension .test.ts --timeout 60000 --exit
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Como puede ver en este comentario de problema de Github , para ejecutar pruebas con el emulador de Firebase, debe usar el siguiente comando para activarlo:

 firebase emulators:exec "npm test"

Como así es como las pruebas estaban destinadas a ser ejecutadas por el equipo de Firebase usando el emulador.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda