• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

240
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error