An open API service indexing awesome lists of open source software.

https://github.com/asafkorem/react-native-with-detox-starter

Initial RN app with Detox tests. Tested with iOS only.
https://github.com/asafkorem/react-native-with-detox-starter

Last synced: over 1 year ago
JSON representation

Initial RN app with Detox tests. Tested with iOS only.

Awesome Lists containing this project

README

          

This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli).

# Getting Started

>**Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions till "Creating a new application" step, before proceeding.

## Step 0: Installation

Clone the repo and run the following command to install the dependencies:

```bash
npm install
cd ios && pod install && cd ..
```

## Step 1: Start the Metro Server

First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native.

To start Metro, run the following command from the _root_ of your React Native project:

```bash
npm start
```

## Step 2: Start your Application

Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of your React Native project. Run the following command to start your _Android_ or _iOS_ app:

### For Android

```bash
npm run android
```

### For iOS

```bash
npm run ios
```

If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly.

This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.

## Step 3: Modifying your App

Now that you have successfully run the app, let's modify it.

1. Open `App.tsx` in your text editor of choice and edit some lines.
2. For **Android**: Press the R key twice or select **"Reload"** from the **Developer Menu** (Ctrl + M (on Window and Linux) or Cmd ⌘ + M (on macOS)) to see your changes!

For **iOS**: Hit Cmd ⌘ + R in your iOS Simulator to reload the app and see your changes!

## Step 4: Install Dependencies for Detox

Before running the tests, please follow the environment setup guide for [Detox](https://wix.github.io/Detox/docs/next/introduction/environment-setup) and make sure you have the necessary dependencies installed.

Usually, you will need to install the following:

Install `applesimutils`:
```bash
brew tap wix/brew
brew install applesimutils
```

Install `detox-cli`:
```bash
npm install -g detox-cli
```

## Step 5: Run Detox Tests

### 5.1. Build the app for Detox

```bash
detox build -c ios.sim.release
```

### 5.2. Modify the tests

The app's tests are under `e2e` directory. You can modify the tests to match your app's behavior.
Open `e2e/starter.test.js` in your text editor of choice and edit some lines.

### 5.3. Run the tests

Run the following command to run the tests:

```bash
detox test -c ios.sim.release
```

## Congratulations! :tada:

You've successfully run and modified your React Native App. :partying_face:

### Now what?

- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps).
- If you're curious to learn more about React Native, check out the [Introduction to React Native](https://reactnative.dev/docs/getting-started).

# Troubleshooting

If you can't get this to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.

# Learn More

To learn more about React Native, take a look at the following resources:

- [React Native Website](https://reactnative.dev) - learn more about React Native.
- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment.
- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**.
- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts.
- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native.