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

This is how you should test your react-native components with Jest and React Native Testing Library

banner

No More Hacks and Headaches <> Learn How to Test Your Components Before Your Users Will

Quality Gate Status Coverage Unit Testing E2E Testing

Covered Examples ๐ŸŽž

Tools in use ๐Ÿ› ๏ธ

Setup and requirements ๐Ÿ“‹

Getting Started ๐Ÿš€

  • Clone the repo git clone [email protected]:vanGalilea/react-native-testing.git
  • Run yarn to install dependencies
  • Explore RN CLI app and/or Expo app's tests and source code that are relevant to your use case.

RN CLI application

How to run the tests ๐Ÿƒโ€โ™€๏ธ

  • Run cd apps/rn-cli-app to navigate to the app folder
  • Run yarn test:unit to run the unit tests
  • Run yarn test:unit:dev to run the unit tests in dev/watch mode
  • Run yarn test:unit:coverage to run the tests and generate a coverage report

Make sure you have built and run the app in dev mode before running the e2e tests.

  • Run yarn test:e2e to run the e2e tests
  • Run yarn test:e2e:dev to run the e2e tests in dev/watch mode
  • Run yarn test:e2e:record to run the e2e tests and record a video of the tests

How to run the app ๐Ÿ“ฑ

  • Run cd apps/rn-cli-app to navigate to the app folder
  • Run npx pod-install to install iOS dependencies
  • Run yarn start to start the metro bundler
  • Click i to run the app on iOS simulator or a to run it on Android emulator

Expo application

How to run the tests ๐Ÿƒโ€โ™€๏ธ

  • Run cd apps/rn-expo-app to navigate to the app folder
  • Run yarn test:unit to run the unit tests

How to run the app ๐Ÿ“ฑ

  • Run cd apps/rn-expo-app to navigate to the app folder
  • Run yarn start to start the metro bundler
  • Click i to run the app on iOS simulator or a to run it on Android emulator

Inspiration, resources and further reading ๐Ÿ“š

Impression of the project ๐Ÿ“ธ

https://github.com/vanGalilea/react-native-testing/assets/25864161/cdb6cdc7-7b28-4ecd-819f-52dd3c3d76c8