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

195
Visualizações
Broma: hacer que las funciones importadas desde el archivo fuente usen instancias simuladas de función en el mismo archivo

Estoy escribiendo algunas pruebas unitarias para mi backend de Node usando jest y sigo teniendo el mismo problema. Tengo un archivo de prueba, digamos logic.test.js , que prueba la funcionalidad de logic.js . logic.js consta de dos funciones: dataRequestFunction y logicFunction , donde logicFunction utiliza dataRequestFunction para recuperar algunos datos con una solicitud HTTP y luego realiza algún tipo de manejo de datos.

Quiero simular la funcionalidad de dataRequestFunction para poder controlar lo que se devuelve, para saber que logicFunction opera con los datos correctos. Lo que he hecho hasta ahora es usar jest.requireActual , como el siguiente

 jest.mock('./logic', () => ({ ...jest.requireActual('./logic'), dataRequestFunction: jest .fn() .mockImplementation(() => ({ data: 'someData' })) }))

Luego importo logicFunction como de costumbre. Quiero usar logicFunction en el archivo de prueba, por ejemplo expect(logicFunction()).toEqual('somedata') (digamos que el trabajo de la función lógica está capitalizando el resultado de (await dataRequestFunction()).data) . ¿Cómo logro esto? Con esta implementación, logicFunction llama a la versión no simulada de la función; sin embargo, si llamo a dataRequestFunction explícitamente en el archivo de prueba, se devuelve ({ data: 'someData' }) .

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