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

96
Vistas
¿Cómo puedo simular una función de otro archivo que devuelve una promesa?

Tengo la función a continuación. No puedo probar esta función usando el marco Jest.

La función:

 exports.example = async function (data) { let utility; if (data.flag) { utility = require('./utility'); } else { utility = require(Runtime.giveFunctions()['utility'].path); } const valueFromUtility = await utility.getValue(data); . . .

De la prueba paso el objeto de datos que contiene varias propiedades, entre ellas:

  • indicador: si es cierto, necesito el archivo utility.js y luego llamo a la función getValue (datos), si es falso, obtengo la ruta del archivo de utilidad que contiene la función getValue y luego llamo a getValue (datos) función.

Si de la prueba pasa data.flag === true, la prueba está bien, de lo contrario (data.flag === false) la prueba falla y me dice "utility.getValue no es una función".

En el archivo utility.js, la función getValue devuelve una promesa, como parámetro tiene el objeto de datos que contiene las funciones simuladas que se llamarán en getValue.

La prueba que escribí es la siguiente:

 test('Test with flag === false', async () => { jest.mock('../functions/utility', () => () => false); await example(data); });

También traté de burlarme de la función getValue de la utilidad para devolver una promesa resuelta:

 test('Test with flag === false', async () => { jest.mock('../functions/utility', () => jest.fn().mockReturnValue(Promise.resolve('Some values'))); await example(data); });

Finalmente, me burlé de la siguiente manera:

 const Runtime = { giveFunctions: jest.fn().mockReturnValue({ utility: jest.fn().mockReturnValue({ path: jest.fn() }) }) }; window.Runtime = Runtime;

En el archivo de utilidad solo tengo la función getValue.

¿Como puedó resolver esté problema? gracias a todos de antemano

about 4 years ago · Juan Pablo Isaza
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