After upgrading Jest to v.27.2.5 from v.26 if a test fails it shows me: result.message is not a function
It doesn't matter what I try to test. If it fails, I don't get any meaningful message. My test:
it('should pass', async () => {
const foo = 2;
expect(foo).toBe(3);
});
Result:
result.message is not a function
TypeError: result.message is not a function
at new JestAssertionError (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-chain-npm-1.1.5-5b9906685f-cc8cb9b33a.zip/node_modules/jest-chain/dist/chain.js:10:18)
at Object.newMatcher [as toBe] (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-chain-npm-1.1.5-5b9906685f-cc8cb9b33a.zip/node_modules/jest-chain/dist/chain.js:31:17)
at _callee6$ (ROUTE_TO/GitHub/Flow/Flow_FE/src/components/forms/RequestSetNewPasswordForm/RequestSetNewPasswordForm.test.tsx:133:15)
at tryCatch (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/regenerator-runtime-npm-0.13.9-6d02340eec-65ed455fe5.zip/node_modules/regenerator-runtime/runtime.js:63:40)
at Generator.invoke [as _invoke] (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/regenerator-runtime-npm-0.13.9-6d02340eec-65ed455fe5.zip/node_modules/regenerator-runtime/runtime.js:294:22)
at Generator.next (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/regenerator-runtime-npm-0.13.9-6d02340eec-65ed455fe5.zip/node_modules/regenerator-runtime/runtime.js:119:21)
at asyncGeneratorStep (ROUTE_TO/GitHub/Flow/Flow_FE/src/components/forms/RequestSetNewPasswordForm/RequestSetNewPasswordForm.test.tsx:8:103)
at _next (ROUTE_TO/GitHub/Flow/Flow_FE/src/components/forms/RequestSetNewPasswordForm/RequestSetNewPasswordForm.test.tsx:10:194)
at ROUTE_TO/GitHub/Flow/Flow_FE/src/components/forms/RequestSetNewPasswordForm/RequestSetNewPasswordForm.test.tsx:10:364
at new Promise (<anonymous>)
at Object.<anonymous> (ROUTE_TO/GitHub/Flow/Flow_FE/src/components/forms/RequestSetNewPasswordForm/RequestSetNewPasswordForm.test.tsx:10:97)
at Promise.then.completed (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-circus-npm-27.2.5-f729640db6-35a43f48d6.zip/node_modules/jest-circus/build/utils.js:390:28)
at new Promise (<anonymous>)
at callAsyncCircusFn (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-circus-npm-27.2.5-f729640db6-35a43f48d6.zip/node_modules/jest-circus/build/utils.js:315:10)
at _callCircusTest (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-circus-npm-27.2.5-f729640db6-35a43f48d6.zip/node_modules/jest-circus/build/run.js:218:40)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at _runTest (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-circus-npm-27.2.5-f729640db6-35a43f48d6.zip/node_modules/jest-circus/build/run.js:155:3)
at _runTestsForDescribeBlock (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-circus-npm-27.2.5-f729640db6-35a43f48d6.zip/node_modules/jest-circus/build/run.js:66:9)
at run (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-circus-npm-27.2.5-f729640db6-35a43f48d6.zip/node_modules/jest-circus/build/run.js:25:3)
at runAndTransformResultsToJestFormat (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-circus-npm-27.2.5-f729640db6-35a43f48d6.zip/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:167:21)
at jestAdapter (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-circus-npm-27.2.5-f729640db6-35a43f48d6.zip/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:82:19)
at runTestInternal (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-runner-npm-27.2.5-cb3234bfd1-12daf87276.zip/node_modules/jest-runner/build/runTest.js:389:16)
at runTest (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-runner-npm-27.2.5-cb3234bfd1-12daf87276.zip/node_modules/jest-runner/build/runTest.js:475:34)
at TestRunner.runTests (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/cache/jest-runner-npm-27.2.5-cb3234bfd1-12daf87276.zip/node_modules/jest-runner/build/index.js:111:12)
at TestScheduler.scheduleTests (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/__virtual__/@jest-core-virtual-30a9be5577/0/cache/@jest-core-npm-27.2.5-0bd8b654d5-e140b71fa5.zip/node_modules/@jest/core/build/TestScheduler.js:333:13)
at runJest (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/__virtual__/@jest-core-virtual-30a9be5577/0/cache/@jest-core-npm-27.2.5-0bd8b654d5-e140b71fa5.zip/node_modules/@jest/core/build/runJest.js:387:19)
at _run10000 (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/__virtual__/@jest-core-virtual-30a9be5577/0/cache/@jest-core-npm-27.2.5-0bd8b654d5-e140b71fa5.zip/node_modules/@jest/core/build/cli/index.js:320:7)
at runCLI (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/__virtual__/@jest-core-virtual-30a9be5577/0/cache/@jest-core-npm-27.2.5-0bd8b654d5-e140b71fa5.zip/node_modules/@jest/core/build/cli/index.js:173:3)
at Object.run (ROUTE_TO/GitHub/Flow/Flow_FE/.yarn/__virtual__/jest-cli-virtual-049064fa1a/0/cache/jest-cli-npm-27.2.5-de57d01272-403468c466.zip/node_modules/jest-cli/build/cli/index.js:155:37)
My Jest config:
/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
module.exports = {
verbose: false,
preset: 'ts-jest',
globals: {
'ts-jest': {
isolatedModules: true,
diagnostics: {
warnOnly: true,
},
babelConfig: true,
},
},
testEnvironment: 'jsdom',
setupFilesAfterEnv: ['./src/jest/setupTests.ts'],
modulePathIgnorePatterns: ['<rootDir>/dist/'],
roots: ['<rootDir>', '<rootDir>/src/', '<rootDir>/src/jest'],
moduleNameMapper: {
'\\.(css|less|sass|scss)$': '<rootDir>/src/jest/__mocks__/styleMock.js',
'\\.(gif|ttf|eot|svg)$': '<rootDir>/src/jest/__mocks__/fileMock.js',
},
collectCoverageFrom: [
'src/**/*.{ts,tsx}',
'!src/**/*.d.{ts,tsx}',
'!src/**/*.types.{ts,tsx}',
'!src/**/types.{ts,tsx}',
'!src/**/index.{ts,tsx}',
'!src/**/*.stories.{ts,tsx}',
'!src/**/clientApi.ts',
'!src/**/AxiosInstance.ts',
'!src/**/store.ts',
'!src/**/type.tsx',
'!src/storybookComponents/*.*',
],
};
setupTests.ts
import 'regenerator-runtime/runtime';
import '@testing-library/jest-dom';
import 'jest-extended';
import 'jest-chain';
import 'jest-mock-axios';
Dependences:
"@babel/core": "^7.12.10",
"@babel/plugin-proposal-class-properties": "^7.12.1",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.13.0",
"@mdx-js/react": "^1.6.22",
"@pmmmwh/react-refresh-webpack-plugin": "^0.4.3",
"@testing-library/dom": "^8.7.2",
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^12.1.2",
"@testing-library/react-hooks": "^7.0.2",
"@testing-library/user-event": "^13.3.0",
"@typescript-eslint/eslint-plugin": "^4.10.0",
"@typescript-eslint/parser": "^4.10.0",
"@welldone-software/why-did-you-render": "^6.2.0",
"babel-eslint": "^10.1.0",
"babel-jest": "^27.2.5",
"babel-loader": "^8.2.2",
"core-js": "^3.18.2",
"css-loader": "5.2.6",
"css-modules-typescript-loader": "^4.0.1",
"file-loader": "^6.2.0",
"html-loader": "^2.1.2",
"html-webpack-plugin": "^5.3.2",
"image-webpack-loader": "^8.0.1",
"jest": "^27.2.5",
"jest-chain": "^1.1.5",
"jest-extended": "^1.0.0",
"jest-jasmine2": "^27.2.5",
"jest-mock-axios": "^4.4.1",
"js-yaml": "^4.1.0",
"mini-css-extract-plugin": "^2.4.2",
"mock-local-storage": "^1.1.17",
"prettier": "^2.4.1",
"react-hot-loader": "^4.13.0",
"react-refresh": "^0.10.0",
"react-test-renderer": "^17.0.2",
"redux-logger": "^3.0.6",
"redux-mock-store": "^1.5.4",
"redux-saga-test-plan": "^4.0.3",
"regenerator-runtime": "^0.13.9",
"sass": "^1.42.1",
"sass-loader": "10.1.1",
"style-loader": "2.0.0",
"ts-dedent": "^2.2.0",
"ts-jest": "^27.0.5",
"ts-loader": "^9.2.6",
"ts-node": "^10.2.1",
"type-fest": "^2.3.4",
"typescript": "^4.4.3",
"url-loader": "^4.1.1",
"webpack": "^5.58.1",
"webpack-cli": "^4.9.0",
"webpack-dev-server": "^4.3.1"
},
Any ideas?
UPDATE The problem in "jest-chain"