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

192
Visualizações
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 à 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