как добавить jest в проект
не react-app, свой webpack мой json
{
"name": "my-project",
"version": "1.0.0",
"description": "",
"private": true,
"scripts": {
"dev": "cross-env NODE_ENV=development webpack --mode development",
"build": "cross-env NODE_ENV=production webpack --mode production",
"start": "cross-env NODE_ENV=development webpack-dev-server --mode development --open",
"stats": "webpack --json > stats.json && webpack-bundle-analyzer stats.json",
"storybook": "start-storybook -p 6006",
"build-storybook": "build-storybook",
"test": "jest"
},
"jest": {
"moduleNameMapper": {
"moduleFileExtensions": ["js", "jsx"],
"moduleDirectories": ["node_modules", "src"],
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
"\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"
}
},
"dependencies": {
"@babel/polyfill": "^7.8.7",
"animate.css": "^3.7.2",
"babel-preset-react": "^6.24.1",
"dotenv-webpack": "^1.7.0",
"firebase": "^7.13.1",
"i18next": "^19.3.2",
"i18next-browser-languagedetector": "^4.0.2",
"i18next-xhr-backend": "^3.2.2",
"react": "latest",
"react-animate-on-scroll": "^2.1.5",
"react-dom": "latest",
"react-google-maps": "^9.4.5",
"react-id-swiper": "^3.0.0",
"react-redux": "^7.2.0",
"react-router-dom": "^5.1.2",
"react-stripe-checkout": "^2.6.3",
"redux": "^4.0.5",
"redux-logger": "^3.0.6",
"redux-persist": "^6.0.0",
"redux-saga": "^1.1.3",
"redux-thunk": "^2.3.0",
"reselect": "^4.0.0",
"swiper": "^5.3.6",
"uuid": "^7.0.3"
},
"browserslist": "> 0.25%, not dead",
"author": "Surovets Viacheslav",
"license": "ISC",
"devDependencies": {
"@babel/core": "^7.8.7",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/preset-env": "^7.8.7",
"@babel/preset-react": "^7.8.3",
"@storybook/addon-actions": "^5.3.14",
"@storybook/addon-links": "^5.3.14",
"@storybook/addons": "^5.3.14",
"@storybook/react": "^5.3.14",
"babel-eslint": "^10.1.0",
"babel-loader": "^8.0.6",
"clean-webpack-plugin": "^3.0.0",
"copy-webpack-plugin": "^5.1.1",
"cross-env": "^7.0.2",
"css-loader": "^3.4.2",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.2",
"eslint": "^6.8.0",
"eslint-plugin-react": "^7.19.0",
"eslint-plugin-react-hooks": "0.0.0-235a6c4af",
"file-loader": "^5.1.0",
"html-webpack-plugin": "^3.2.0",
"i": "^0.3.6",
"jest": "^25.2.7",
"mini-css-extract-plugin": "^0.9.0",
"npm": "^6.14.2",
"optimize-css-assets-webpack-plugin": "^5.0.3",
"ramda": "^0.27.0",
"react-i18next": "^11.3.3",
"style-loader": "^1.1.3",
"styled-components": "^5.0.1",
"svg-inline-loader": "^0.8.2",
"terser-webpack-plugin": "^2.3.5",
"url-loader": "^3.0.0",
"webpack": "^4.42.0",
"webpack-bundle-analyzer": "^3.6.0",
"webpack-cli": "^3.3.11",
"webpack-dev-server": "^3.10.3"
}
}
import React from 'react';
import { shallow } from 'enzyme';
import Root from './Root';
it ( 'should ', () => {
expect(shallow(<Root />)).toMatchSnapshot();
});