react-native-testing-library icon indicating copy to clipboard operation
react-native-testing-library copied to clipboard

RFC: RNTL Cookbook

Open mdjastrzebski opened this issue 1 month ago • 5 comments

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

mdjastrzebski avatar May 28 '24 09:05 mdjastrzebski