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

338
Vistas
Se llama a la función simulada de Jest, pero afirmar toBeCalled devuelve falso

Me estoy burlando de una función:

 jest.mock('utils/downloadData')

En utils/datos de descarga, creé un archivo simulado:

 export default { general: jest.fn(() => { console.log('mock fired') }), csv: jest.fn(() => { console.log('mock fired') }), }

Esta función se llama dentro de una función que estoy probando:

 ... const convertToCsv = () => { downloadData.csv(CSV.stringify(csvData), fileName) onFinish() } ...

Al depurar veo que la función simulada está correctamente configurada en el cierre, al depurar paso a paso veo que el código llega dentro de la función simulada y esa consola registra el mensaje. Sin embargo, esta prueba falla:

 expect(downloadData.csv).toBeCalledTimes(1)

Jest acepta downloadData.csv dentro de lo esperado, así que creo que ve la función simulada.

¿Cómo es posible que no lo registre como llamado?

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

0

La función probada implicaba una obtención de datos asíncrona, que también se burló. Pero la naturaleza asíncrona de eso hizo que la prueba evaluara los valores esperados antes de que terminara de ejecutar la función probada.

Lo que ayudó no fue solo hacer que la función de prueba fuera asíncrona ( test('output', async() => { ) sino también incluir esta línea encima de la evaluación: await new Promise(process.nextTick) Esto permite que la prueba finalice los bits asíncronos antes de evaluar los resultados.

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