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

202
Views
jest.spyOn no funciona cuando se llama desde una llamada de efecto secundario

Tengo el siguiente escenario:

 const doSomething = () => { const test = 1; doAnotherThing(); return test + 1; }; const doAnotherThing = () => {}; module.exports = { doSomething, doAnotherThing };

Y aquí está mi prueba:

 const MyModule = require('./myModule'); describe('MyModule', () => { it('Should be able to spy another call', () => { const spy = jest.spyOn(MyModule, 'doAnotherThing'); MyModule.doSomething(); expect(spy).toHaveBeenCalledTimes(1); }); });

Pregunta, ¿hay alguna manera de que la llamada doAnotherThing() dentro de doSomething() sea espiada por broma de alguna manera, sin usar soluciones como rewire?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Encontré la solución aquí: https://medium.com/welldone-software/jest-how-to-mock-a-function-call-inside-a-module-21c05c57a39f

Redefinido mi módulo a esto y ahora está funcionando

 const doSomething = () => { const test = 1; MyModule.doAnotherThing(); return test + 1; }; const doAnotherThing = () => {}; const MyModule = { doSomething: doSomething, doAnotherThing: doAnotherThing }; export default MyModule;
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!