-
Notifications
You must be signed in to change notification settings - Fork 250
Description
I am trying to install user-event using the install instructions available here and then call userEvent.setup()
per the instructions here. However, it is not importing and I feel like I'm missing something blindingly obvious.
To Reproduce Steps to reproduce the behavior:
- Use create-react-app to make a new project:
npx create-react-app .
- Install user-event, react testing library and testing library DOM:
npm install --save-dev @testing-library/react @testing-library/dom @testing-library/user-event
- Attempt to import userEvent:
import {userEvent} from '@testing-library/user-event';
- Run the test and get the following error:
Cannot read property 'setup' of undefined
TypeError: Cannot read property 'setup' of undefined
Expected behavior
I expect, on installing @testing-library/user-event
to be able to import userEvent and have it be defined. It is not.
Screenshots If applicable, add screenshots to help explain your problem.
My full test file:
import { render, screen } from '@testing-library/react';
import App from './App';
import {userEvent} from '@testing-library/user-event';
test('renders learn react link', () => {
const user = userEvent.setup()
render(<App />);
const linkElement = screen.getByText(/learn react/i);
expect(linkElement).toBeInTheDocument();
});
Default App.js
:
import logo from './logo.svg';
import './App.css';
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
Desktop (please complete the following information):
- OS: Ubuntu 22.04
- Browser: None (Jest runner)
- Version: 14.4.3 (user-event)
Additional context
I'm following the same pattern I used to install all my other npm modules, and have only been using this library for the last 2 days. The fact that I can't even import a module out of the box that's referred to in the docs seems weird. If I'm importing it from the wrong ___location it's because the examples in the docs do not have an explicit "import" statement to access the userEvent object.