Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

275
Views
Jest trunca la lista de llamadas simuladas recibidas

Tengo una prueba que llama a un espía varias veces:

 // example.test.js it("Fails but doesn't log all calls", () => { const spy = jest.fn(); spy("1"); spy("2"); spy("3"); spy("4"); spy("5"); expect(spy).toHaveBeenCalledWith("not 1"); });

Jest trunca la salida, por lo que solo las primeras 3 llamadas se enumeran en Received :

 // jest example.test.js expect(jest.fn()).toHaveBeenCalledWith(...expected) Expected: "not 1" Received 1: "1" 2: "2" 3: "3" Number of calls: 5 10 | spy("4"); 11 | spy("5"); > 12 | expect(spy).toHaveBeenCalledWith("not 1"); | ^ 13 | }); 14 |

¿Cómo puedo obtener la lista completa de llamadas para mostrar en la terminal en caso de fallas de aserción?

 Received 1: "1" 2: "2" 3: "3" 4: "4" 5: "5"
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Simplemente puede registrar en su consola las llamadas simuladas"

 const spy = jest.fn(); spy("1"); spy("2"); spy("3"); spy("4"); spy("5"); console.log(spy.mock.calls)

DOCUMENTOS -> https://jestjs.io/docs/mock-functions

about 4 years ago · Juan Pablo Isaza Report

0

A partir de junio de 2022 , no es posible utilizar aserciones de broma integradas:

 const PRINT_LIMIT = 3

Solución alternativa: escriba un error de aserción personalizado. Ver logCalls :

 import { printReceived } from "jest-matcher-utils"; const logCalls = (spy) => { const receivedCalls = spy.mock.calls.map((call, i) => `${i}: ${printReceived(call)}` ) console.error(`All Received:\n${receivedCalls.join("\n")}`) } it("Fails and logs all calls", () => { const spy = jest.fn(); spy("1"); spy("2"); spy("3"); spy("4"); spy("5"); try { expect(spy).toHaveBeenCalledWith("not 1"); } catch (e) { logCalls(spy) throw e } });

Lo que generará el siguiente error:

 All Received: 0: ["1"] 1: ["2"] 2: ["3"] 3: ["4"] 4: ["5"]
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!