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

284
Vistas
¿Cómo puedo burlarme de una función que está en otro archivo y que devuelve una promesa?

Estoy escribiendo una prueba de Jest. Necesito probar una función que llama a una función en otro archivo .js. Esta función llamada devuelve una promesa que se resuelve en una cadena. Cuando inicio la prueba me sale el error "file.function is not a function", donde en lugar de "file" tengo el nombre del archivo js importado y en lugar de "function" tengo el nombre de la función que devuelve el promesa.

Debajo de mi prueba:

 test('test', () => { jest.mock('../file', () => { function: jest.fn().mockReturnValue('Returned String') }); myFunction(); expect().toBe(); });

Explicación: en primer lugar, me burlé del módulo que contiene la función que devuelve una promesa. Con el segundo parámetro (de jest.mock) me burlé de la función contenida en el módulo burlado. A continuación, llamo a la función que quiero probar (esta función llamará a la función simulada). Finalmente, pongo a prueba las expectativas. Alguien puede ayudarme por favor. No se como puedo solucionarlo, gracias a todos.

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

0

jest.mock debe estar al mismo nivel que las importaciones. Si necesita probar varios casos, simplemente simule el valor devuelto/resuelto cada vez.

 import { myFunction } from './fn'; import { function } from '../file'; jest.mock('../file', () => { function: jest.fn(), }); describe('myFunction tests', () => { describe('With returned string', () => { beforeEach(() => { function.mockReturnValue('Returned String'); }); it('should do sth', () => { myFunction(); // expect(...).toBe(...); }); }); describe('With returned number', () => { beforeEach(() => { function.mockReturnValue(7); }); it('should do other thing', () => { myFunction(); // expect(...).toBe(...); }); }); });
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