i’m using this configuration:
globalThis.ngJest = {
skipNgcc: true,
tsconfig: 'tsconfig.spec.json', // this is the project root tsconfig
};
/** @type {import('@jest/types').Config.InitialOptions} */
module.exports = {
preset: 'jest-preset-angular',
testEnvironment: 'jsdom',
setupFilesAfterEnv: [ '<rootDir>/src/setup-jest.ts' ],
// setupFilesAfterEnv: [ '<rootDir>/node_modules/jest-preset-angular/build/setup-jest.js' ],
transform: {
'^.+\\.ts$': 'ts-jest', // Only transform .ts files
},
transformIgnorePatterns: [
'/node_modules/(?!flat)/', // Exclude modules except 'flat' from transformation
],
moduleNameMapper: {
'\\.(css|scss)$': 'identity-obj-proxy',
'^@/(.*)$': '<rootDir>/src/$1',
'^app/(.*)$': '<rootDir>/src/app/$1',
'^src/(.*)$': '<rootDir>/src/$1',
'^shared/(.*)$': '<rootDir>/../shared/$1',
'^mockServices/(.*)$': '<rootDir>/mockServices/$1',
'^@app/(.*)$': '<rootDir>/src/app/$1',
'^@environments/(.*)$': '<rootDir>/src/environments/$1',
},
moduleDirectories: [ 'node_modules', 'src' ],
fakeTimers: {
enableGlobally: true,
}
};
It seems fine even though the tests… it’s quite more complicated than using Karma, pity they deprecated it