Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

106
Visualizações
¿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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda