react-hooks-testing-library
msw
react-hooks-testing-library | msw | |
---|---|---|
18 | 150 | |
5,204 | 14,946 | |
0.3% | 2.1% | |
1.5 | 9.2 | |
4 months ago | 10 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.
react-hooks-testing-library
-
The Art of Side Effects in React.js: Understanding and Using the useEffect Hook
While generally it's recommended to test the component using the hooks rather than the hooks themselves, sometimes you might find it necessary to test custom hooks directly. For such cases, there's React Hooks Testing Library. This library allows you to create a simple test harness for React hooks that handles running them within the body of a function component, as well as updating and unmounting them.
-
Test your React hooks with Vitest efficiently
To do so, we can install and use Render hooks from React Testing Library:
-
Domain Layer and React? Decorators to the Rescue!
Of course, you could isolate the logic inside a hook, and there's an awesome way of testing it with renderHook. But yet, you're trapped into react features, if they change their API, you will have to put your hands in your working logic and adapt some stuffs to keep up to date.
- what's your take on the tdd approach? how are tests tested ?
-
Testing Functions within Functional React Components
Relocating functions to a custom hook makes them accessible for testing (plus you’re keeping business logic separate from the UI, in accordance with best practices). There’s even a library to help with testing custom hooks: react-hooks-testing-library.
-
Testing modern ReactJS Application: Unit Testing(Part 2)
testing-library provides one more library exactly for such purpose allowing us to avoid headache and safe strength for actual testing. It is called @testing-library/react-hooks
-
Writing useful custom React hooks with TypeScript and testing them with React Testing Library
Next, we need to install react-hooks-testing-library package. It's a simple testing utility that allows testing hooks with ease. You can read more about this package here.
-
I’ve been struggling a lot learning Unit Testing, any general tip?
As for hooks, there's https://react-hooks-testing-library.com/
-
A Quick Guide to Testing Custom React Hooks
Use @testing-library/reacthooks
-
How to test React hooks ... by not testing react hooks
Now I don't need to worry about React lifecycle methods. I can test my hook if I want to, but it hardly seems worth it here. If I would, it would be easier to do so using react-hooks-testing-library
msw
-
Modern React testing, part 5: Playwright
We’re going to use Mock Service Worker (MSW) for mocking network requests in our integration tests and in the app during development.
-
Easier TypeScript API Testing with Vitest + MSW
However, I discovered a great combination that transformed my API call testing in TypeScript: Vitest and Mock Service Worker (MSW). Their well-crafted design makes them incredibly easy to use, enhancing the overall testing experience.
-
Creating mocks for testing react code
While mocks are effective, they require modifying the component's internal logic or mocking global functions like fetch. This can become cumbersome for complex components with numerous API interactions. Here's where MSW shines.
-
Storybook 8
> For those wondering what the use case is, you must not have tried it. It does take work to set up (with each version that's less), but it can be very nice to test in isolation esp in cases where a component is under a login, the 4th page of a 10 page form, etc. Also obviously if you're working on a component library that ships without an app, Storybook can be your development and/or demo app.
I have worked with storybook extensively over the past couple of years and my team is moving away from it in favour of MSW (https://mswjs.io).
For "4th page of a 10 page form" during the development there's hot reloading which is really stable nowadays and haven't failed me, although I understand that some setups are old and it might be easier to configure Storybook than good hot reloading.
I'm not entirely sure about the testing part of it and I'd be grateful if you could elaborate. I haven't felt the need for some special setup with SB because for unit tests, I can test a deeply nested component separately. For E2E tests, I usually test the whole form.
I agree on the component library part, this is probably the only use case where Storybook is 100% justified, but I'm unconvinced about the
Additionally, thank you to all our community launch partners across the frontend ecosystem for helping us bring Storybook 8 to the world! Thanks to Chromatic, Figma, ViteConf, Omlet, DivRiots, story.to.design, StackBlitz, UXpin, Nx, Mock Service Worker, Anima, Zeplin, zeroheight, kickstartDS, and Kendo UI.
-
I made "TypeScript Swagger Editor", new type of Swagger UI writing TypeScript code in the browser
similar with msw.js, but fully automated
-
Partial: how not to mock the whole world
they could be network mocks (use msw)
-
How to Automatically Consume RESTful APIs in Your Frontend
With orval, we can also integrate the API client in our unit tests. Orval provides first class support for mocking through the (Mock Service Worker)[https://mswjs.io/] library, and it can automatically generate the MSW handlers for testing server.
- Polly.js – Record, replay, and stub HTTP interactions
-
How to Successfully Integrate with Legacy APIs Using NodeJS
Consider a hypothetical scenario where data from a list of companies within an ERP needs to be retrieved. As a personal recommendation, leverage tools like MSW for top-level mocks, which can significantly enhance the testing process.
What are some alternatives?
zustand - 🐻 Bear necessities for state management in React
Nock - HTTP server mocking and expectations library for Node.js
redux-devtools-extension - Redux DevTools extension.
rtk-query - Data fetching and caching addon for Redux Toolkit
jest - Delightful JavaScript Testing.
miragejs - A client-side server to build, test and share your JavaScript app
Immer - Create the next immutable state by mutating the current one
mockoon - Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.
malabi - Tracing Based JavaScript Assertions
prism - Turn any OpenAPI2/3 and Postman Collection file into an API server with mocking, transformations and validations.
ionic-react-supabase-simple-storage - Supabase Storage Image Upload Tutorial Using Ionic React & Capacitor Camera
axios - Promise based HTTP client for the browser and node.js