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

178
Views
La función no está llamando al constructor simulado en la prueba Jest

Tengo una configuración similar a esta pregunta, pero la respuesta de burla parcial no funciona para mí.

Tengo un archivo 'FiscalYear.jsx' que contiene una clase FiscalYear y algunas funciones relacionadas que no son de clase, por ejemplo

 export class FiscalYear { constructor(fy) { //does stuff } // other functionality } export function getFY(offset) { // does stuff return new FiscalYear(fy); }

Quiero que mi prueba Jest para la función getFY simplemente verifique que se haya llamado al constructor FiscalYear con el parámetro correcto. Usé burla parcial en mi archivo de prueba para lograr esto:

 import { FiscalYear, getFY } from '../FiscalYear'; jest.mock('../FiscalYear', () => { const originalModule = require.requireActual('../FiscalYear'); return { ...originalModule, FiscalYear: jest.fn().mockImplementation((a) => { }) }; }); test("getFY", () => { getFY(2); expect(FiscalYear).toHaveBeenCalled(); });

Actualizaré toHaveBeenCalled a toBeCalledWith una vez que haga que realmente llame a la función. Sin embargo, actualmente la prueba falla con

 expect(jest.fn()).toHaveBeenCalled() Expected number of calls: >= 1 Received number of calls: 0

Puse un archivo console.log en el constructor real y confirmé que la función getFY lo está llamando en lugar del constructor simulado.

¿Cómo hacer que esto funcione? ¿Es un mal diseño tener estos dos en el mismo archivo? Totalmente nuevo en JavaScript, así que si esto es una mala práctica, házmelo saber.

about 4 years ago · Juan Pablo Isaza
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!