• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

234
Vistas
Mocha.js - ¿Cómo guardar una variable global?

Estoy trabajando con Mocha.js para probar en Node.js - Express.js - Firebase

Necesito un token de Firebase para acceder a los puntos finales de la API, tengo un enlace anterior en todos mis archivos, pero después de unas 250 pruebas, probablemente llamando al punto final de autenticación varias veces, Firebase me limita la tasa.

Quiero obtener el token una vez y usarlo en todas mis pruebas.

Las pruebas están distribuidas en diferentes archivos, tengo un index.js que las requiere todas. Conozco los ganchos de nivel raíz, pero ¿cómo puedo guardar el token y usarlo en todos mis archivos separados?

¡Gracias!

about 3 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

puede crear una función que obtenga el token. entonces llámalo. luego cree su conjunto de pruebas solo después de eso

 function getToken(callback) { // } // define tests function allTests(token) { describe(xxxxxx, function () { it(xxxxxxxxx, function() { // }) }); } // start all getToken(function(token) { allTests(token); });
about 3 years ago · Juan Pablo Isaza Denunciar

0

  • Cree un archivo JSON en su directorio raíz de prueba.
  • Importe el archivo.
  • Agregue una propiedad de token con el valor del token.
  • Luego impórtelo en cualquier lugar para acceder a la propiedad del token.
about 3 years ago · Juan Pablo Isaza Denunciar

0

Logré resolverlo yo mismo, si alguien necesita una respuesta sobre cómo abordarlo, eche un vistazo a esto.

Tengo varios archivos donde escribimos nuestras pruebas unitarias, los unimos en un index.spec.js que ejecutamos para probar ($ mocha index.spec.js)

Creé un archivo de utilidad que se ve así:

 let token; (() => { token = getYourToken() })() module.exports = { getToken: () => { return new Promise((resolve) => { const interval = setInterval(() => { if (token) { clearInterval(interval); resolve(token); } }, 100); }); } };

Básicamente, es un singleton, en index.spec.js necesito este archivo, ejecutando 'getYourToken()' una vez (agregue su lógica para obtener el token aquí). Luego lo almaceno en una variable que luego exporto. En la exportación, uso un intervalo porque mi código actual no usa promesas, use su método de mejores prácticas, intervalo + Promesa funcionó para mí.

De esta manera, necesito este archivo en mis pruebas y obtengo el token que obtuve al principio una vez, evitando la limitación de velocidad y cualquier problema con firebase.

about 3 years ago · Juan Pablo Isaza 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda