Recently upgrading my app to Angular 11. Jest has been set up as the default testing framework. Running npm test results in the following error:
● Test suite failed to run
TypeError: Jest: a transform must export a `process` function.
20 | @Component({
21 | selector: 'app-bx-input-textbox',
> 22 | template: require('./bx-input-textbox.component.html'),
| ^
23 | styles: [String(require('./bx-input-textbox.component.scss'))],
24 | providers: [
25 | {
at ScriptTransformer._getTransformer (node_modules/@jest/transform/build/ScriptTransformer.js:357:15)
at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:419:28)
at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:523:40)
at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:579:25)
at src/app/core/components/bx-input-textbox/bx-input-textbox.component.ts:22:15
at Object.<anonymous> (src/app/core/components/bx-input-textbox/bx-input-textbox.component.ts:38:1)
// jest.config.js
module.exports = {
testEnvironment: "jsdom",
transform: {
".+\\.(css|styl|less|sass|scss)$": "<rootDir>/node_modules/jest-css-modules-transform",
"\\.(ts|js)$": ['ts-jest']
},
setupFilesAfterEnv: ['./jest.setup.js'],
globals: {
"ts-jest": {
tsConfig: {
// allow js in typescript
allowJs: true,
},
},
},
// If you need to test a specifc file just include it here
//testMatch: ['**/repository.jobs.spec.ts'],
testMatch: []
};
Package versions "@angular-builders/jest": "12.1.0", "@types/jest": "24.9.1", "ts-jest": "26.0.0", "jest": "24.9.0",
I have tried different configurations with the jest.config.js file but not able to resolve this error. Any pointers to resolve this issue would be helpful.
Upgraded jest and ts-jest to v27 to fix this issue