DEV Community

Reynaldo Quispe Soca
Reynaldo Quispe Soca

Posted on

Configure jest in your project REact with vite

  1. install jest yarn add --dev jest
  2. install yarn add -D @types/jest and yarn add eslint @jest/globals --dev
  3. In file .eslintrc.cjs add jest: true,node:true module.exports = { root: true, env: { browser: true, es2020: true, jest: true, node: true },
  4. install yarn add --dev babel-jest @babel/core @babel/preset-env
  5. crate file babel.config.js and paste this code module.exports = { presets: [['@babel/preset-env', {targets: {node: 'current'}}]], };
  6. if you get an error of this type:
 You appear to be using a native ECMAScript module configuration file, which is only supported when running Babel asynchronously. at loadCodeDefault (node_modules/@babel/core/src/config/files/module-types.ts:66:9) at loadCodeDefault.next (<anonymous>) at readConfigCode (node_modules/@babel/core/src/config/files/configuration.ts:75:37) at readConfigCode.next (<anonymous>) at Function.<anonymous> (node_modules/@babel/core/src/gensync-utils/async.ts:10:3) at evaluateSync (node_modules/gensync/index.js:251:28) at Function.sync (node_modules/gensync/index.js:89:14) at sync (node_modules/@babel/core/src/gensync-utils/async.ts:83:25) at sync (node_modules/gensync/index.js:182:19) at onFirstPause (node_modules/gensync/index.js:210:24) at cachedFunction (node_modules/@babel/core/src/config/caching.ts:131:34) at cachedFunction.next (<anonymous>) at evaluateSync (node_modules/gensync/index.js:251:28) at node_modules/gensync/index.js:31:34 at Array.map (<anonymous>) at Function.sync (node_modules/gensync/index.js:31:22) at Function.all (node_modules/gensync/index.js:210:24) at all (node_modules/@babel/core/src/config/files/configuration.ts:264:34) at loadOneConfig.next (<anonymous>) at buildRootChain (node_modules/@babel/core/src/config/config-chain.ts:171:39) at buildRootChain.next (<anonymous>) at loadPrivatePartialConfig (node_modules/@babel/core/src/config/partial.ts:110:44) at loadPrivatePartialConfig.next (<anonymous>) at Function.loadPrivatePartialConfig (node_modules/@babel/core/src/config/partial.ts:173:12) at evaluateSync (node_modules/gensync/index.js:251:28) at Function.sync (node_modules/gensync/index.js:89:14) at sync (node_modules/@babel/core/src/config/index.ts:58:21) at ScriptTransformer._getCacheKey (node_modules/@jest/transform/build/ScriptTransformer.js:228:41) at ScriptTransformer._getFileCachePath (node_modules/@jest/transform/build/ScriptTransformer.js:289:27) at ScriptTransformer.transformSource (node_modules/@jest/transform/build/ScriptTransformer.js:522:32) at ScriptTransformer._transformAndBuildScript (node_modules/@jest/transform/build/ScriptTransformer.js:671:40) at ScriptTransformer.transform (node_modules/@jest/transform/build/ScriptTransformer.js:723:19) 
Enter fullscreen mode Exit fullscreen mode

change name de you file babel.config.js to babel.config.cjs

--------------------------- ANOTHER THINGS -------------
A. yarn add -D whatwg-fetch
---INSTALL TESTIN LYBRARY----
A. npm install --save-dev @testing-library/react
B. yarn add -D jest-environment-jsdom
C. yarn add -D @babel/preset-react
E. in babel.config write presets: [
["@babel/preset-env", { targets: { esmodules: true } }],
["@babel/preset-react", { runtime: "automatic" }],
],

F create file jest.config.cjs and paste module.exports = {
// Other Jest configuration options...
testEnvironment: "jsdom",
};

Top comments (0)