tengo problemas para configurar jest en una aplicación mecanografiada existente.
cuando trato de ejecutar una prueba básica de estilo "hola mundo" como:
test('foo', () => console.log('foo'))yo obtengo:
● Test suite failed to run TypeError: _global.setTimeout is not a function at withGlobal (node_modules/@sinonjs/fake-timers/src/fake-timers-src.js:146:35) at new FakeTimers (node_modules/@jest/fake-timers/build/modernFakeTimers.js:45:53)¿Por qué sería esto?
mi archivo jest.config.js es:
module.exports = { preset: 'ts-jest', testEnvironment: 'node', roots: ['<rootDir>/src'], transform: { '^.+\\.(js|ts|tsx)?$': 'ts-jest', }, testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$', moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'], transformIgnorePatterns: ['"node_modules/(?!p-queue/.*)"'], } que transformIgnorePatterns allí me está ayudando a sortear un módulo que está escrito en esmodules , que de lo contrario causa un error de sintaxis.
mis dependencias relevantes:
"dependencies": { "@types/jest": "^27.5.0", "@types/p-queue": "^3.2.1", "jest": "^28.1.0", "p-queue": "^7.1.0", "ts-jest": "^28.0.2", "typescript": "^4.5.5", // etc... }