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

109
Vistas
¿No está seguro de cuánto burlarse con jest.js en una función que se compone principalmente de llamadas API?

Un esquema de mi código es este:

 const apiOnePost = async (data) => { console.log('posting the data'); }; const apiTwoPost = async (data) => { console.log('posting the data'); return 'id'; }; const apiTwoGet = async (id) => { console.log('getting the data'); return { rawData: 'foo' } } // Allready united tested const mapData = (raw) => { return { data: raw.rawData } } const businessFunction = async (data) => { await apiOnePost(data); let id = await apiTwoPost(data) let raw = apiTwoGet(id); return mapData(raw); }

Mi objetivo es probar la función businessFunction (que es la única función que se exporta desde el archivo, mapData en realidad está en un archivo separado)

Pero como puede ver, no puedo simplemente importar businessFunction en mi archivo de prueba y ejecutar afirmaciones porque todo lo que hace es hacer llamadas a API y mapear los resultados.

Se supone estrictamente que mi prueba no debe enviar datos hacia y desde las API.

Si me burlo de las apis, ¿cómo hago para que la función use esas apis simuladas en lugar de las cosas reales cuando las ejecuto para probar mis afirmaciones?

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

0

Si alguien tiene curiosidad, la solución que terminé eligiendo fue separar cada publicación de API en su propio módulo e importarlos en la función principal, luego ejecutar aserciones en la función principal fue trivial porque podía usar jest.mock() en cada llamada de API.

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