Skip to content

Instantly share code, notes, and snippets.

@paitonic
Created June 29, 2019 18:55
Show Gist options
  • Save paitonic/640f64dbe00515a5e24757dc4795b0e2 to your computer and use it in GitHub Desktop.
Save paitonic/640f64dbe00515a5e24757dc4795b0e2 to your computer and use it in GitHub Desktop.
Setup Jest and Enzyme for React

References

Dependencies

yarn add --dev jest enzyme enzyme-adapter-react-16

# to transform react code in the test environment (skip if using `create-react-app`)
yarn add --dev babel-jest @babel/preset-env @babel/preset-react 
package.json
...
"scripts": {
    "start": "parcel index.html",
    "test": "jest"
}
Generate Jest configuration file
./node_modules/jest/bin/jest.js --init

babel.config.js

module.exports = {
  presets: ['@babel/preset-env', '@babel/preset-react'],
};

jest.config.js:

...
setupFilesAfterEnv: [
    "<rootDir>/setupTests.js"
]

setupTests.js

import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';

configure({ adapter: new Adapter() });

App.test.js

import React from 'react';
import { shallow } from 'enzyme';

import App from './App';


describe('<App/>', () => {
    test('should render <App/>', () => {
        const wrapper = shallow(<App/>);
        expect(wrapper).toBeDefined();
    });
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment