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

240
Vistas
Simulación manual de una función de fábrica

Tengo un caso de uso común en el que tengo un cliente API en código:

 // services/getApiClient.js import axios from 'axios'; export default (user) => { return axios.get('https://api.com', headers: { Authorization: user.apiKey }); }

Mi aplicación consume este cliente API en muchas rutas.

Quiero poder usar un simulacro manual definido en 1 archivo en todo mi conjunto de pruebas Jest:

 // services/__mocks__/getApiClient.js export const get = jest.fn(); export const post = jest.fn(); export default (user) => { return { __esMock: true, default: { get, post } } }

Entonces esperaba poder lograr esto en las pruebas:

 // example.test.js import getApiClient from 'services/getApiClient' import { get } from 'services/__mocks__/getApiClient'; jest.mock('services/getApiClient'); get.mockReturnValue({ data: { example: 'data' });

Sin embargo, cuando example.test.js ejecuta el sujeto real example.js , el valor de retorno simulado de apiClient.get siempre está undefined .

Sé que puedo hacer que esta prueba funcione realizando un jest.mock con un reemplazo en línea, pero es mucho copiar y pegar lo que espero evitar.

 // example.test.js import getApiClient from 'services/getApiClient'; jest.mock('services/getApiClient'); const apiClient = { get: jest.fn(), post: jest.fn() }; jest.mockImplementation(() => apiClient); apiClient.get.mockReturnValue({ data: { example: 'data' }});

¡Se agradecería cualquier orientación sobre cómo hacer que estos simulacros estén más SECOS!

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