[!IMPORTANT] > Considering this for new tests? If your tests can run in a real browser, prefer that over simulating events in jsdom.
- Vitest Browser Mode includes a
userEventfromvitest/browserthat mirrors this API but drives a real browser (recommended over this package in browser mode).- Playwright has first-class locator actions (
click(),fill(),press(), etc.) with auto-waiting - usually the better choice for E2E and Playwright component tests.This package is still reasonable for jsdom/happy-dom Testing Library tests. Details and recommendations: #1319.
From testing-library/dom-testing-library#107:
[...] it is becoming apparent the need to express user actions on a web page using a higher-level abstraction than
fireEvent
user-event tries to simulate the real events that would happen in the browser
as the user interacts with it. For example userEvent.click(checkbox) would
change the state of the checkbox.
The more your tests resemble the way your software is used, the more confidence they can give you.
Looking to contribute? Look for the Good First Issue label.
Please file an issue for bugs, missing documentation, or unexpected behavior.
Please file an issue to suggest new features. Vote on feature requests by adding a π. This helps maintainers prioritize what to work on.
For questions related to using the library, please visit a support community instead of filing an issue on GitHub.
We most sincerely thank the people who make this project possible. Contributions of any kind are welcome! π