Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

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

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

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!