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

243
Views
JS/Angular: Problema de prueba de tuberías después de actualizar a la última versión de Jest (27.4.7)

Después de actualizar la versión de Jest a la última, mis pruebas unitarias para tubería están fallando. El error inicial que estaba recibiendo era:

jest Cannot set property of [object Object] which has only a getter

Este error no estaba presente en la versión anterior (24).

Encontré un problema similar pero desafortunadamente la solución aplicada no ayudó en mi caso.

Esta es mi pipa:

 @Pipe({ name: 'standPermissionIds', }) export class StandPermissionIdsPipe implements PipeTransform { transform(value: Stands): StandIdentifiers | undefined { if (!value) { return; } return extractStandIdentifiers(value); } }

y pruebas para eso (antes de aplicar la solución para deshacerse del error 'captador'):

 import { StandPermissionIdsPipe } from '@sam-hmi/shared/pipes/stand-permission-ids.pipe'; import { extractStandIdentifiers } from '@sam-hmi/utils'; describe('StandPermissionIdsPipe', () => { let pipe; beforeEach(() => { pipe = new StandPermissionIdsPipe(); (extractStandIdentifiers as jest.Mock) = jest.fn(); }); it('should call extractStandIdentifiers and return the value', () => { pipe.transform('test'); expect(extractStandIdentifiers).toBeCalledWith('test'); }); });

y después de aplicarlo:

 import { StandPermissionIdsPipe } from '@sam-hmi/shared/pipes/stand-permission-ids.pipe'; describe('StandPermissionIdsPipe', () => { let pipe; let extractStandIdentifiers; beforeEach(() => { pipe = new StandPermissionIdsPipe(); extractStandIdentifiers = jest.mock('@sam-hmi/utils', () => ({ ...jest.requireActual('@sam-hmi/utils'), })); }); it('should call extractStandIdentifiers and return the value', () => { pipe.transform('test'); expect(extractStandIdentifiers).toHaveBeenCalledWith('test'); }); });

En ese caso, el mensaje de error se trata de otra cosa, pero probablemente porque arruiné la aplicación de la solución: ingrese la descripción de la imagen aquí

Y así es como se ven los extractStandIdentifiers :

 export const extractStandIdentifiers = (stand: Stands): StandIdentifiers => { const { standId, terminalFk, apronFk, stationFk } = stand; return { standId, terminalId: terminalFk ? terminalFk.terminalId : undefined, apronId: apronFk ? apronFk.apronId : undefined, stationId: stationFk ? stationFk.stationId : undefined, }; };

¿Puede alguien explicarme cómo resolver esto y qué ha cambiado y por qué comencé a recibir estos errores en la versión más nueva de Jest?

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!