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

194
Vistas
Pruebas asincrónicas usando broma y solo devoluciones de llamada

Estoy tratando de implementar algunas pruebas asincrónicas usando bromas y solo devoluciones de llamada. Me las arreglé para hacer este código, que espero que sea correcto (pasa la prueba):

 test('Test the then() clause', function (done) { expect.assertions(1); const result = generate(); new Promise(function (resolve, reject) { setTimeout(function () { resolve(result); }, 100); }).then((data) => { expect(data).toBe(result); done(); }); });

Pero estoy atascado tratando de crear una prueba cuando espero detectar un error, así:

 test('Test unhandled promise rejection', function (done) { expect.assertions(1); try { new Promise(function (resolve, reject) { setTimeout(function () { reject('errorrrrr'); }, 100); }); } catch (error) { console.log(error); done(); } });

¿Que estoy haciendo mal?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

EDITAR: si desea hacer esto con una devolución de llamada, simplemente deshágase de la prueba/captura

 test('Test unhandled promise rejection', function (done) { new Promise(function (resolve, reject) { setTimeout(function () { reject('errorrrrr'); }, 100); }).catch(() => { console.log(error); done(); }); });

Debe esperar la promesa, de lo contrario no arroja

 test('Test unhandled promise rejection', async function (done) { expect.assertions(1); try { await new Promise(function (resolve, reject) { setTimeout(function () { reject('errorrrrr'); }, 100); }); } catch (error) { console.log(error); done(); } });

Entonces, es simplemente más fácil (OMI) omitir las devoluciones de llamada y usar resoluciones/rechazos

 test('Test unhandled promise rejection', async () => { await expect(new Promise(function (resolve, reject) { setTimeout(function () { reject('errorrrrr'); }, 100); }).rejects.toMatch('errorrrrr') });
about 4 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda