react-native-testing-library
react-native-testing-library copied to clipboard
RFC: RNTL Cookbook
RNTL Cookbook
RNTL is feature-complete, so the next big frontier is documenting and sharing best practices so our users can get the most out of using RNTL. Specifically, we could have a significant impact by:
- Describe best practices around common tasks like async tests, network calls,
- Provide ready-made recipes for testing popular libraries like state management, React Navigation
- Provide copy-pastable information about mocking and RNTL setup
I propose creating an RNTL Cookbook. It would be a documentation section where we would gather relatively short "recipes" for handling different concerns, tips & tricks, etc.
Proposed topics
Basic
- [ ] Jest Config
- [x] Custom Render functions #1622
- [ ] Testing async code
- [ ] Mocking in general
- [ ] Mocking network calls with
fetch
- [ ] Mocking React Native parts
Popular libraries
- [ ] Gesture Handler
- [ ] Reanimated
- [ ] ...
Navigation
- [ ] React Navigation
- [ ] Expo Router (?)
State management
- [ ] Redux (classic)
- [ ] Redux (RTK)
- [ ] Zustand
- [ ] Jotai
- [ ] Valtio
- [ ] ...
Other
- [ ] Custom component snapshot matcher (?)
- [ ] Testing Event Emitters / Streams
Each documentation page should be brief and accompanied by an easy-to-understand example showcasing the essence of the recipe/technique. Additionally, I will create an examples/cookbook
app based on a basic
example app that will provide runnable code for all recipes.
We would invite our users to share their own best practices, tips & tricks, etc. so this becomes a crowdsource effort and a common knowledge base making our (developer) lives easier and more productive.
CC: @thymikee @pierrezimmermannbam @MattAgn @AugustinLF