UNPKG

32.9 kBMarkdownView Raw
1<div align="center">
2 <h1>react-hooks-testing-library</h1>
3
4<a href="https://www.emojione.com/emoji/1f40f">
5 <img
6 height="80"
7 width="80"
8 alt="ram"
9 src="https://raw.githubusercontent.com/testing-library/react-hooks-testing-library/main/public/ram.png"
10 />
11</a>
12
13<p>Simple and complete React hooks testing utilities that encourage good testing practices.</p>
14
15 <br />
16 <a href="https://react-hooks-testing-library.com/"><strong>Read The Docs</strong></a>
17 <br />
18</div>
19
20<hr />
21
22<!-- prettier-ignore-start -->
23[![Build Status](https://img.shields.io/github/workflow/status/testing-library/react-hooks-testing-library/validate?logo=github&style=flat-square)](https://github.com/testing-library/react-hooks-testing-library/actions?query=workflow%3Avalidate)
24[![codecov](https://img.shields.io/codecov/c/github/testing-library/react-hooks-testing-library.svg?style=flat-square)](https://codecov.io/gh/testing-library/react-hooks-testing-library)
25[![version](https://img.shields.io/npm/v/@testing-library/react-hooks.svg?style=flat-square)](https://www.npmjs.com/package/@testing-library/react-hooks)
26[![downloads](https://img.shields.io/npm/dm/@testing-library/react-hooks.svg?style=flat-square)](http://www.npmtrends.com/@testing-library/react-hooks)
27[![MIT License](https://img.shields.io/npm/l/@testing-library/react-hooks.svg?style=flat-square)](https://github.com/testing-library/react-hooks-testing-library/blob/main/LICENSE.md)
28
29[![All Contributors](https://img.shields.io/github/all-contributors/testing-library/react-hooks-testing-library?color=orange&style=flat-square)](#contributors)
30[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
31[![Code of Conduct](https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square)](https://github.com/testing-library/react-hooks-testing-library/blob/main/CODE_OF_CONDUCT.md)
32[![Netlify Status](https://api.netlify.com/api/v1/badges/9a8f27a5-df38-4910-a248-4908b1ba29a7/deploy-status)](https://app.netlify.com/sites/react-hooks-testing-library/deploys)
33[![Discord](https://img.shields.io/discord/723559267868737556.svg?color=7389D8&labelColor=6A7EC2&logo=discord&logoColor=ffffff&style=flat-square)](https://discord.gg/testing-library)
34
35[![Watch on GitHub](https://img.shields.io/github/watchers/testing-library/react-hooks-testing-library.svg?style=social)](https://github.com/testing-library/react-hooks-testing-library/watchers)
36[![Star on GitHub](https://img.shields.io/github/stars/testing-library/react-hooks-testing-library.svg?style=social)](https://github.com/testing-library/react-hooks-testing-library/stargazers)
37[![Tweet](https://img.shields.io/twitter/url/https/github.com/testing-library/react-hooks-testing-library.svg?style=social)](https://twitter.com/intent/tweet?text=Check%20out%20react-hooks-testing-library%20by%20%40testing-library%20https%3A%2F%2Fgithub.com%2Ftesting-library%2Freact-hooks-testing-library%20%F0%9F%91%8D)
38<!-- prettier-ignore-end -->
39
40## A Note about React 18 Support
41
42As part of the changes for React 18, it has been decided that the `renderHook` API provided by this
43library will instead be included as official additions to both `react-testing-library`
44([PR](https://github.com/testing-library/react-testing-library/pull/991)) and
45`react-native-testing-library`
46([PR](https://github.com/callstack/react-native-testing-library/pull/923)) with the intention being
47to provide a more cohesive and consistent implementation for our users.
48
49Please be patient as we finalise these changes in the respective testing libraries.
50In the mean time you can install `@testing-library/react@^13.1`
51
52## Table of Contents
53
54<!-- START doctoc generated TOC please keep comment here to allow auto update -->
55<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
56
57- [The problem](#the-problem)
58- [The solution](#the-solution)
59- [When to use this library](#when-to-use-this-library)
60- [When not to use this library](#when-not-to-use-this-library)
61- [Example](#example)
62 - [`useCounter.js`](#usecounterjs)
63 - [`useCounter.test.js`](#usecountertestjs)
64- [Installation](#installation)
65 - [Peer Dependencies](#peer-dependencies)
66- [API](#api)
67- [Contributors](#contributors)
68- [Issues](#issues)
69 - [πŸ› Bugs](#-bugs)
70 - [πŸ’‘ Feature Requests](#-feature-requests)
71 - [❓ Questions](#-questions)
72- [LICENSE](#license)
73
74<!-- END doctoc generated TOC please keep comment here to allow auto update -->
75
76## The problem
77
78You're writing an awesome custom hook and you want to test it, but as soon as you call it you see
79the following error:
80
81> Invariant Violation: Hooks can only be called inside the body of a function component.
82
83You don't really want to write a component solely for testing this hook and have to work out how you
84were going to trigger all the various ways the hook can be updated, especially given the
85complexities of how you've wired the whole thing together.
86
87## The solution
88
89The `react-hooks-testing-library` allows you to create a simple test harness for React hooks that
90handles running them within the body of a function component, as well as providing various useful
91utility functions for updating the inputs and retrieving the outputs of your amazing custom hook.
92This library aims to provide a testing experience as close as possible to natively using your hook
93from within a real component.
94
95Using this library, you do not have to concern yourself with how to construct, render or interact
96with the react component in order to test your hook. You can just use the hook directly and assert
97the results.
98
99## When to use this library
100
1011. You're writing a library with one or more custom hooks that are not directly tied to a component
1022. You have a complex hook that is difficult to test through component interactions
103
104## When not to use this library
105
1061. Your hook is defined alongside a component and is only used there
1072. Your hook is easy to test by just testing the components using it
108
109## Example
110
111### `useCounter.js`
112
113```js
114import { useState, useCallback } from 'react'
115
116function useCounter() {
117 const [count, setCount] = useState(0)
118
119 const increment = useCallback(() => setCount((x) => x + 1), [])
120
121 return { count, increment }
122}
123
124export default useCounter
125```
126
127### `useCounter.test.js`
128
129```js
130import { renderHook, act } from '@testing-library/react-hooks'
131import useCounter from './useCounter'
132
133test('should increment counter', () => {
134 const { result } = renderHook(() => useCounter())
135
136 act(() => {
137 result.current.increment()
138 })
139
140 expect(result.current.count).toBe(1)
141})
142```
143
144More advanced usage can be found in the
145[documentation](https://react-hooks-testing-library.com/usage/basic-hooks).
146
147## Installation
148
149```sh
150npm install --save-dev @testing-library/react-hooks
151```
152
153### Peer Dependencies
154
155`react-hooks-testing-library` does not come bundled with a version of
156[`react`](https://www.npmjs.com/package/react) to allow you to install the specific version you want
157to test against. It also does not come installed with a specific renderer, we currently support
158[`react-test-renderer`](https://www.npmjs.com/package/react-test-renderer) and
159[`react-dom`](https://www.npmjs.com/package/react-dom). You only need to install one of them,
160however, if you do have both installed, we will use `react-test-renderer` as the default. For more
161information see the
162[installation docs](https://react-hooks-testing-library.com/installation#renderer). Generally, the
163installed versions for `react` and the selected renderer should have matching versions:
164
165```sh
166npm install react@^16.9.0
167npm install --save-dev react-test-renderer@^16.9.0
168```
169
170> **NOTE: The minimum supported version of `react`, `react-test-renderer` and `react-dom` is
171> `^16.9.0`.**
172
173## API
174
175See the [API reference](https://react-hooks-testing-library.com/reference/api).
176
177## Contributors
178
179Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
180
181<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
182<!-- prettier-ignore-start -->
183<!-- markdownlint-disable -->
184<table>
185 <tr>
186 <td align="center"><a href="https://github.com/mpeyper"><img src="https://avatars0.githubusercontent.com/u/23029903?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michael Peyper</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=mpeyper" title="Code">πŸ’»</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=mpeyper" title="Documentation">πŸ“–</a> <a href="#ideas-mpeyper" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#infra-mpeyper" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a> <a href="#maintenance-mpeyper" title="Maintenance">🚧</a> <a href="#question-mpeyper" title="Answering Questions">πŸ’¬</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=mpeyper" title="Tests">⚠️</a></td>
187 <td align="center"><a href="https://github.com/otofu-square"><img src="https://avatars0.githubusercontent.com/u/10118235?v=4?s=100" width="100px;" alt=""/><br /><sub><b>otofu-square</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=otofu-square" title="Code">πŸ’»</a></td>
188 <td align="center"><a href="https://github.com/ab18556"><img src="https://avatars2.githubusercontent.com/u/988696?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Patrick P. Henley</b></sub></a><br /><a href="#ideas-ab18556" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="https://github.com/testing-library/react-hooks-testing-library/pulls?q=is%3Apr+reviewed-by%3Aab18556" title="Reviewed Pull Requests">πŸ‘€</a></td>
189 <td align="center"><a href="https://twitter.com/matiosfm"><img src="https://avatars3.githubusercontent.com/u/7120471?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matheus Marques</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=marquesm91" title="Code">πŸ’»</a></td>
190 <td align="center"><a href="https://ca.linkedin.com/in/dhruvmpatel"><img src="https://avatars1.githubusercontent.com/u/19353311?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dhruv Patel</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/issues?q=author%3Adhruv-m-patel" title="Bug reports">πŸ›</a> <a href="https://github.com/testing-library/react-hooks-testing-library/pulls?q=is%3Apr+reviewed-by%3Adhruv-m-patel" title="Reviewed Pull Requests">πŸ‘€</a></td>
191 <td align="center"><a href="https://ntucker.true.io"><img src="https://avatars0.githubusercontent.com/u/866147?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nathaniel Tucker</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/issues?q=author%3Antucker" title="Bug reports">πŸ›</a> <a href="https://github.com/testing-library/react-hooks-testing-library/pulls?q=is%3Apr+reviewed-by%3Antucker" title="Reviewed Pull Requests">πŸ‘€</a></td>
192 <td align="center"><a href="https://github.com/sgrishchenko"><img src="https://avatars3.githubusercontent.com/u/15995890?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sergei Grishchenko</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=sgrishchenko" title="Code">πŸ’»</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=sgrishchenko" title="Documentation">πŸ“–</a> <a href="#ideas-sgrishchenko" title="Ideas, Planning, & Feedback">πŸ€”</a></td>
193 </tr>
194 <tr>
195 <td align="center"><a href="https://github.com/josepot"><img src="https://avatars1.githubusercontent.com/u/8620144?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Josep M Sobrepere</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=josepot" title="Documentation">πŸ“–</a></td>
196 <td align="center"><a href="https://github.com/mtinner"><img src="https://avatars0.githubusercontent.com/u/5487448?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Marcel Tinner</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=mtinner" title="Documentation">πŸ“–</a></td>
197 <td align="center"><a href="https://github.com/FredyC"><img src="https://avatars0.githubusercontent.com/u/1096340?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Daniel K.</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/issues?q=author%3AFredyC" title="Bug reports">πŸ›</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=FredyC" title="Code">πŸ’»</a></td>
198 <td align="center"><a href="https://github.com/VinceMalone"><img src="https://avatars0.githubusercontent.com/u/2516349?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vince Malone</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=VinceMalone" title="Code">πŸ’»</a></td>
199 <td align="center"><a href="https://github.com/doppelmutzi"><img src="https://avatars1.githubusercontent.com/u/4130968?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sebastian Weber</b></sub></a><br /><a href="#blog-doppelmutzi" title="Blogposts">πŸ“</a></td>
200 <td align="center"><a href="https://gillchristian.xyz"><img src="https://avatars2.githubusercontent.com/u/8309423?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Christian Gill</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=gillchristian" title="Documentation">πŸ“–</a></td>
201 <td align="center"><a href="https://jsjoe.io"><img src="https://avatars3.githubusercontent.com/u/3806031?v=4?s=100" width="100px;" alt=""/><br /><sub><b>JavaScript Joe</b></sub></a><br /><a href="#tutorial-jsjoeio" title="Tutorials">βœ…</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=jsjoeio" title="Tests">⚠️</a></td>
202 </tr>
203 <tr>
204 <td align="center"><a href="http://frontstuff.io"><img src="https://avatars1.githubusercontent.com/u/5370675?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sarah Dayan</b></sub></a><br /><a href="#platform-sarahdayan" title="Packaging/porting to new platform">πŸ“¦</a></td>
205 <td align="center"><a href="https://github.com/102"><img src="https://avatars1.githubusercontent.com/u/5839225?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Roman Gusev</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=102" title="Documentation">πŸ“–</a></td>
206 <td align="center"><a href="https://github.com/hemlok"><img src="https://avatars2.githubusercontent.com/u/9043345?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Adam Seckel</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=hemlok" title="Code">πŸ’»</a></td>
207 <td align="center"><a href="https://keiya01.github.io/portfolio"><img src="https://avatars1.githubusercontent.com/u/34934510?v=4?s=100" width="100px;" alt=""/><br /><sub><b>keiya sasaki</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=keiya01" title="Tests">⚠️</a></td>
208 <td align="center"><a href="https://huchen.dev/"><img src="https://avatars3.githubusercontent.com/u/2078389?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Hu Chen</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=huchenme" title="Code">πŸ’»</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=huchenme" title="Documentation">πŸ“–</a> <a href="#example-huchenme" title="Examples">πŸ’‘</a></td>
209 <td align="center"><a href="https://github.com/joshuaellis"><img src="https://avatars0.githubusercontent.com/u/37798644?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Josh</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=joshuaellis" title="Documentation">πŸ“–</a> <a href="#question-joshuaellis" title="Answering Questions">πŸ’¬</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=joshuaellis" title="Code">πŸ’»</a> <a href="#ideas-joshuaellis" title="Ideas, Planning, & Feedback">πŸ€”</a> <a href="#maintenance-joshuaellis" title="Maintenance">🚧</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=joshuaellis" title="Tests">⚠️</a></td>
210 <td align="center"><a href="https://github.com/Goldziher"><img src="https://avatars1.githubusercontent.com/u/30733348?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Na'aman Hirschfeld</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=Goldziher" title="Code">πŸ’»</a></td>
211 </tr>
212 <tr>
213 <td align="center"><a href="https://github.com/nobrayner"><img src="https://avatars2.githubusercontent.com/u/40751395?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Braydon Hall</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=nobrayner" title="Code">πŸ’»</a></td>
214 <td align="center"><a href="https://dev.to/jacobmgevans"><img src="https://avatars1.githubusercontent.com/u/27247160?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jacob M-G Evans</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=JacobMGEvans" title="Code">πŸ’»</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=JacobMGEvans" title="Tests">⚠️</a></td>
215 <td align="center"><a href="https://tigerabrodi.dev/"><img src="https://avatars1.githubusercontent.com/u/49603590?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tiger Abrodi</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=tigerabrodi" title="Code">πŸ’»</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=tigerabrodi" title="Tests">⚠️</a></td>
216 <td align="center"><a href="https://github.com/merodiro"><img src="https://avatars1.githubusercontent.com/u/17033502?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Amr A.Mohammed</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=merodiro" title="Code">πŸ’»</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=merodiro" title="Tests">⚠️</a></td>
217 <td align="center"><a href="https://github.com/juhanakristian"><img src="https://avatars1.githubusercontent.com/u/544386?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Juhana Jauhiainen</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=juhanakristian" title="Code">πŸ’»</a></td>
218 <td align="center"><a href="https://github.com/jensmeindertsma"><img src="https://avatars3.githubusercontent.com/u/64677517?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jens Meindertsma</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=jensmeindertsma" title="Code">πŸ’»</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=jensmeindertsma" title="Tests">⚠️</a></td>
219 <td align="center"><a href="https://github.com/marcosvega91"><img src="https://avatars2.githubusercontent.com/u/5365582?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Marco Moretti</b></sub></a><br /><a href="#infra-marcosvega91" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a></td>
220 </tr>
221 <tr>
222 <td align="center"><a href="https://www.parkside.at/"><img src="https://avatars0.githubusercontent.com/u/27507295?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Martin V.</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=ndresx" title="Documentation">πŸ“–</a></td>
223 <td align="center"><a href="https://github.com/erozak"><img src="https://avatars3.githubusercontent.com/u/22066282?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Erozak</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=erozak" title="Documentation">πŸ“–</a></td>
224 <td align="center"><a href="https://nickmccurdy.com/"><img src="https://avatars0.githubusercontent.com/u/927220?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nick McCurdy</b></sub></a><br /><a href="#maintenance-nickmccurdy" title="Maintenance">🚧</a></td>
225 <td align="center"><a href="https://codepen.io/aryyya/"><img src="https://avatars1.githubusercontent.com/u/29365565?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Arya</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=aryyya" title="Documentation">πŸ“–</a></td>
226 <td align="center"><a href="https://numb86.net/"><img src="https://avatars1.githubusercontent.com/u/16703337?v=4?s=100" width="100px;" alt=""/><br /><sub><b>numb86</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=numb86" title="Documentation">πŸ“–</a></td>
227 <td align="center"><a href="https://github.com/foray1010"><img src="https://avatars3.githubusercontent.com/u/3212221?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Alex Young</b></sub></a><br /><a href="#maintenance-foray1010" title="Maintenance">🚧</a></td>
228 <td align="center"><a href="https://blam.sh/"><img src="https://avatars1.githubusercontent.com/u/3645856?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ben Lambert</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=benjdlambert" title="Documentation">πŸ“–</a></td>
229 </tr>
230 <tr>
231 <td align="center"><a href="https://github.com/ElRatonDeFuego"><img src="https://avatars1.githubusercontent.com/u/12750934?v=4?s=100" width="100px;" alt=""/><br /><sub><b>David Cho-Lerat</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=ElRatonDeFuego" title="Documentation">πŸ“–</a></td>
232 <td align="center"><a href="https://github.com/evanharmon"><img src="https://avatars1.githubusercontent.com/u/8229989?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Evan Harmon</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=evanharmon" title="Documentation">πŸ“–</a></td>
233 <td align="center"><a href="http://codedaily.io/"><img src="https://avatars1.githubusercontent.com/u/1714673?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jason Brown</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=browniefed" title="Documentation">πŸ“–</a></td>
234 <td align="center"><a href="https://github.com/kahwee"><img src="https://avatars1.githubusercontent.com/u/262105?v=4?s=100" width="100px;" alt=""/><br /><sub><b>KahWee Teng</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=kahwee" title="Documentation">πŸ“–</a></td>
235 <td align="center"><a href="http://shagabutdinov.com/"><img src="https://avatars2.githubusercontent.com/u/1635613?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Leonid Shagabutdinov</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=shagabutdinov" title="Documentation">πŸ“–</a></td>
236 <td align="center"><a href="https://levibutcher.dev/"><img src="https://avatars2.githubusercontent.com/u/31522433?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Levi Butcher</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=LeviButcher" title="Documentation">πŸ“–</a></td>
237 <td align="center"><a href="https://github.com/7michele7"><img src="https://avatars2.githubusercontent.com/u/17926167?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michele Settepani</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=7michele7" title="Documentation">πŸ“–</a></td>
238 </tr>
239 <tr>
240 <td align="center"><a href="https://github.com/samnoh"><img src="https://avatars1.githubusercontent.com/u/14857416?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sam</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=samnoh" title="Documentation">πŸ“–</a></td>
241 <td align="center"><a href="https://github.com/tanaypratap"><img src="https://avatars0.githubusercontent.com/u/10216863?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tanay Pratap</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=tanaypratap" title="Documentation">πŸ“–</a></td>
242 <td align="center"><a href="https://github.com/techanvil"><img src="https://avatars0.githubusercontent.com/u/18395600?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tom Rees-Herdman</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=techanvil" title="Documentation">πŸ“–</a></td>
243 <td align="center"><a href="https://github.com/iqbal125"><img src="https://avatars2.githubusercontent.com/u/24860061?v=4?s=100" width="100px;" alt=""/><br /><sub><b>iqbal125</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=iqbal125" title="Documentation">πŸ“–</a></td>
244 <td align="center"><a href="https://github.com/cliffzhaobupt"><img src="https://avatars3.githubusercontent.com/u/7374506?v=4?s=100" width="100px;" alt=""/><br /><sub><b>cliffzhaobupt</b></sub></a><br /><a href="#maintenance-cliffzhaobupt" title="Maintenance">🚧</a></td>
245 <td align="center"><a href="https://github.com/jonkoops"><img src="https://avatars2.githubusercontent.com/u/695720?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jon Koops</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=jonkoops" title="Code">πŸ’»</a></td>
246 <td align="center"><a href="https://github.com/jpeyper"><img src="https://avatars2.githubusercontent.com/u/6560018?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jonathan Peyper</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/pulls?q=is%3Apr+reviewed-by%3Ajpeyper" title="Reviewed Pull Requests">πŸ‘€</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=jpeyper" title="Code">πŸ’»</a></td>
247 </tr>
248 <tr>
249 <td align="center"><a href="https://seanbaines.com/"><img src="https://avatars.githubusercontent.com/u/24367010?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sean Baines</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=mrseanbaines" title="Documentation">πŸ“–</a></td>
250 <td align="center"><a href="https://www.linkedin.com/in/mike-vasin/"><img src="https://avatars.githubusercontent.com/u/12434833?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mikhail Vasin</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=mvasin" title="Documentation">πŸ“–</a></td>
251 <td align="center"><a href="https://aleksandar.xyz"><img src="https://avatars.githubusercontent.com/u/7226555?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Aleksandar Grbic</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=agjs" title="Documentation">πŸ“–</a></td>
252 <td align="center"><a href="https://github.com/yoniholmes"><img src="https://avatars.githubusercontent.com/u/184589?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jonathan Holmes</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=yoniholmes" title="Code">πŸ’»</a></td>
253 <td align="center"><a href="https://michaeldeboey.be"><img src="https://avatars.githubusercontent.com/u/6643991?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Michaël De Boey</b></sub></a><br /><a href="#maintenance-MichaelDeBoey" title="Maintenance">🚧</a></td>
254 <td align="center"><a href="https://github.com/xobotyi"><img src="https://avatars.githubusercontent.com/u/6178739?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Anton Zinovyev</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/issues?q=author%3Axobotyi" title="Bug reports">πŸ›</a> <a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=xobotyi" title="Code">πŸ’»</a></td>
255 <td align="center"><a href="https://github.com/marianna-exelate"><img src="https://avatars.githubusercontent.com/u/24763042?v=4?s=100" width="100px;" alt=""/><br /><sub><b>marianna-exelate</b></sub></a><br /><a href="#infra-marianna-exelate" title="Infrastructure (Hosting, Build-Tools, etc)">πŸš‡</a></td>
256 </tr>
257 <tr>
258 <td align="center"><a href="https://matan.io"><img src="https://avatars.githubusercontent.com/u/12711091?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matan Borenkraout</b></sub></a><br /><a href="#maintenance-MatanBobi" title="Maintenance">🚧</a></td>
259 <td align="center"><a href="https://github.com/andyrooger"><img src="https://avatars.githubusercontent.com/u/420834?v=4?s=100" width="100px;" alt=""/><br /><sub><b>andyrooger</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=andyrooger" title="Code">πŸ’»</a></td>
260 <td align="center"><a href="https://github.com/bdwain"><img src="https://avatars.githubusercontent.com/u/3982094?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bryan Wain</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/issues?q=author%3Abdwain" title="Bug reports">πŸ›</a> <a href="https://github.com/testing-library/react-hooks-testing-library/pulls?q=is%3Apr+reviewed-by%3Abdwain" title="Reviewed Pull Requests">πŸ‘€</a></td>
261 <td align="center"><a href="https://github.com/snowystinger"><img src="https://avatars.githubusercontent.com/u/698229?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Robert Snow</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=snowystinger" title="Tests">⚠️</a></td>
262 <td align="center"><a href="https://github.com/chris110408"><img src="https://avatars.githubusercontent.com/u/10645051?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Chen</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=chris110408" title="Tests">⚠️</a></td>
263 <td align="center"><a href="https://www.facebook.com/masoud.bonabi"><img src="https://avatars.githubusercontent.com/u/6429009?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Masious</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=masious" title="Documentation">πŸ“–</a></td>
264 <td align="center"><a href="https://github.com/Laishuxin"><img src="https://avatars.githubusercontent.com/u/56504759?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Laishuxin</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=Laishuxin" title="Documentation">πŸ“–</a></td>
265 </tr>
266</table>
267
268<!-- markdownlint-restore -->
269<!-- prettier-ignore-end -->
270
271<!-- ALL-CONTRIBUTORS-LIST:END -->
272
273This project follows the [all-contributors](https://allcontributors.org/) specification.
274Contributions of any kind welcome!
275
276## Issues
277
278_Looking to contribute? Look for the
279[Good First Issue](https://github.com/testing-library/react-hooks-testing-library/issues?utf8=βœ“&q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3A"good+first+issue"+)
280label._
281
282### πŸ› Bugs
283
284Please file an issue for bugs, missing documentation, or unexpected behavior.
285
286[**See Bugs**](https://github.com/testing-library/react-hooks-testing-library/issues?q=is%3Aissue+is%3Aopen+label%3Abug+sort%3Acreated-desc)
287
288### πŸ’‘ Feature Requests
289
290Please file an issue to suggest new features. Vote on feature requests by adding a πŸ‘. This helps
291maintainers prioritize what to work on.
292
293[**See Feature Requests**](https://github.com/testing-library/react-hooks-testing-library/issues?q=is%3Aissue+sort%3Areactions-%2B1-desc+label%3Aenhancement+is%3Aopen)
294
295### ❓ Questions
296
297For questions related to using the library, you can
298[raise issue here](https://github.com/testing-library/react-hooks-testing-library/issues/new), or
299visit a support community:
300
301- [Discord](https://discord.gg/testing-library)
302- [Stack Overflow](https://stackoverflow.com/questions/tagged/react-hooks-testing-library)
303
304## LICENSE
305
306MIT