"ReferenceError: document is not defined" when trying to test a create-react-app project
create-react-app, javascript, jestjs, reactjs
Solution
For me either of these worked
In package.json file adding test script env flag
"scripts": {
"test": "react-scripts test --env=jsdom"
}
Using enzyme
import { shallow } from 'enzyme';
it('renders without crashing', () => {
shallow(<App />);
});
Problem
This is my `__tests__/App.js` file: ``` import React from 'react'; import ReactDOM from 'react-dom'; import App from '../src/containers/App'; it('renders without crashing', () => { const div = document.createElement('div'); ReactDOM.render(<App />, div); }); // sanity check it('one is one', () => { expect(1).toEqual(1) }); ``` And this is the output I get when running `yarn test`: ``` FAIL __tests__/App.js ● renders without crashing ReferenceError: document is not defined at Object.<anonymous>.it (__tests__/App.js:6:15) ✕ renders without crashing (1ms) ✓ one is one Test Suites: 1 failed, 1 total Tests: 1 failed, 1 passed, 2 total Snapshots: 0 total Time: 0.128s, estimated 1s Ran all test suites related to changed files. ``` Do I need to import another module in order for `document` to be available here? Thanks for the help!