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

187
Vistas
la función simulada de broma no funciona en mi caso de prueba

cuando importo módulos, me burlo de ellos con jest.mock() api:

 import analytics, { fakeAnalyticsApi } from "../../middleware/analytics"; jest.mock("../../middleware/analytics", () => { const orginalModules = jest.requireActual("../../middleware/analytics"); return { __esModule: true, ...orginalModules, fakeAnalyticsApi: jest.fn(() => Promise.resolve("success")), }; });

luego, cuando llamo a la función "fakeAnalyticsApi", se ejecuta su versión original.

archivo de prueba completo:

 import analytics, { fakeAnalyticsApi } from "../../middleware/analytics"; jest.mock("../../middleware/analytics", () => { const orginalModules = jest.requireActual("../../middleware/analytics"); return { __esModule: true, ...orginalModules, fakeAnalyticsApi: jest.fn(() => Promise.resolve("success")), }; }); const create = () => { const store = { getState: jest.fn(() => {}), dispatch: jest.fn(), }; const next = jest.fn(); const invoke = (action) => analytics(store)(next)(action); return { store, next, invoke }; }; // suite test describe("analytics middleware", () => { test("should pass on irrelevant keys", () => { const { next, invoke } = create(); const action = { type: "IRREVELANT" }; invoke(action); expect(next).toHaveBeenCalledWith(action); expect(fakeAnalyticsApi).not.toHaveBeenCalled(); }); test("should make an analytics API call", () => { const { next, invoke } = create(); const action = { type: "REVELANT", meta: { analytics: { event: "REVELANT", data: { extra: "stuff" }, }, }, }; invoke(action); expect(fakeAnalyticsApi).toHaveBeenCalled(); expect(next).toHaveBeenCalledWith(action); }); });

y me sale el siguiente error:

 ● analytics middleware › should make an analytics API call expect(jest.fn()).toHaveBeenCalled() Expected number of calls: >= 1 Received number of calls: 0 39 | }; 40 | invoke(action); > 41 | expect(fakeAnalyticsApi).toHaveBeenCalled(); | ^ 42 | expect(next).toHaveBeenCalledWith(action); 43 | }); 44 | });

Registro una declaración en la función de versión original de "fakeAnalyticsApi", parece que se llamó a la versión original porque la consola registra la declaración

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