user-event
littlefoot
Our great sponsors
user-event | littlefoot | |
---|---|---|
5 | 1 | |
2,121 | 218 | |
1.0% | - | |
5.3 | 9.4 | |
11 days ago | 5 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
user-event
-
How do I test a button that change a state with jest ?
You probably want to be using user-event instead of fireEvent.
-
Mocking setTimeout with Jest
With userEvent it is different. Since version 14.0.0 the APIs always return a Promise. Because of that we need to make the whole test async and await on clicking with userEvent.
-
BDD and TDD testing for React-Node App
I just learned to do TDD by react testing library + jest + user event https://github.com/testing-library/user-event
-
Django, HTMX and Alpine.js: Modern Websites, JavaScript Optional
I just tried running WinDirStat on the `node_modules` folder in a Create-React-App project I had lying around. Total size was 234 MB. Of that, 129MB was JS files. By far the biggest piece was TypeScript, which has 45MB of .js in 6 files making up its parsing and IDE language service implementation.
Beyond that, the breakdown is:
- .ts source files: 25MB
- Sourcemaps: 23MB
- Markdown: 15MB
- JSON: 10MB
It also looks like there's a 12MB Linux binary that was only in there as a publishing accident for the `user-event` library that has since been resolved ( https://github.com/testing-library/user-event/issues/266 ).
Or, take Redux Toolkit, which I maintain. If you look at https://unpkg.com/browse/@reduxjs/[email protected]/ , the published package for our current version, it adds up to about 10MB on disk. But, that's because we ship three separate entry points (RTK core, RTK Query UI-agnostic core, RTK Query with React-specific additions), and for each entry point we compile the code to multiple file formats (CommonJS, ESM legacy, ESM modern, ESM with "dev" and "prod" already built in, UMD dev, UMD production), and each of those has sourcemaps. The actual amount of code that ends up in your bundle is about 20KB min+gz.
So, it's a combination of many things: TS itself is big, libraries typically publish packages containing both the original source code plus multiple build artifacts to run in different environments, and packages also include various metadata and other files as well.
-
Comparing Enzyme with React Testing Library
To get away from testing our code implementation and get closer to testing how the application is actually used, we turn once again to React Testing Library. Instead of creating fake DOM event objects and simulating various change events, we have the ability to mimic how users would actually interact with the application using userEvent's, which are provided by the user-event library.
littlefoot
What are some alternatives?
jest-dom - :owl: Custom jest matchers to test the state of the DOM
my-js-math-and-ui-utils - A bunch of typescript math and ui utils that I use a lot
testing-with-enzyme
dababy - :trollface: Data binding so simple even DaBaby could do it!
django-unicorn - The magical reactive component framework for Django ✨
partytown - Relocate resource intensive third-party scripts off of the main thread and into a web worker. 🎉
angular-testing-library - 🐙 Simple and complete Angular testing utilities that encourage good testing practices
dom - Fusor is a simple JavaScript library that helps declaratively create and update DOM elements
callbag-jsx - callbags + JSX: fast and tiny interactive web apps
html-to-image - ✂️ Generates an image from a DOM node using HTML5 canvas and SVG.
blog_mocking_settimeout_with_jest - Mocking setTimeout with Jest
html2canvas - Screenshots with JavaScript