Skip to content

react-native-test-app provides a test app for all supported platforms as a package

License

Notifications You must be signed in to change notification settings

sveinar/react-native-test-app

 
 

Repository files navigation

React Native Test App

Open in Visual Studio Code build npm version

React Native Test App provides test apps for all platforms as a package. It handles the native bits for you so you can focus on what's important: your product.

If you want to learn how RNTA is used at Microsoft, and see a demo of how to add it to an existing library - you can watch the "Improve all the repos – exploring Microsoft’s DevExp" talk by @kelset and @tido64 from React Native Europe 2021.

For more about the motivation and the design of this tool, you can refer to the wiki.

Quick Start

Install react-native-test-app as a dev dependency. We will use the wizard to generate your test app:

yarn add react-native-test-app --dev
yarn init-test-app

In this example, we will create a project named "sample" in sample with test apps for all platforms:

✔ What is the name of your test app? … sample
? Which platforms do you need test apps for? ›
Instructions:
    ↑/↓: Highlight option
    ←/→/[space]: Toggle selection
    a: Toggle all
    enter/return: Complete answer
◉   Android
◉   iOS
◉   macOS
◉   Windows
✔ Where should we create the new project?? … sample

Run yarn inside the new project folder:

cd sample
yarn

Once the dependencies are installed, follow the platform specific instructions below.

Android

Bundle the JS code and assets by running:

yarn build:android

If you're going to use the development server, you can skip this step.

To start the Android app, run:

yarn android

Alternatively, you can also run the app within Android Studio by pointing it to the android folder.

iOS

Bundle the JS code and assets by running:

yarn build:ios

If you're going to use the development server, you can skip this step.

Before you can run the iOS app, you must first install its native dependencies:

pod install --project-directory=ios

This command is also responsible for generating the Xcode project. To start the iOS app, run:

yarn ios

Alternatively, you can also run the app within Xcode by opening the Xcode workspace:

open ios/Sample.xcworkspace

Note: If you made changes to app.json or any other assets, you should re-run pod install to make sure that the changes are included in the Xcode project.

macOS

Bundle the JS code and assets by running:

yarn build:ios

If you're going to use the development server, you can skip this step.

Before you can run the macOS app, you must first install its native dependencies:

pod install --project-directory=macos

This command is also responsible for generating the Xcode project. To start the macOS app, run:

yarn macos

Alternatively, you can also run the app within Xcode by opening the Xcode workspace:

open macos/Sample.xcworkspace

Note: If you made changes to app.json or any other assets, you should re-run pod install to make sure that the changes are included in the Xcode project.

Windows

Bundle the JS code and assets by running:

yarn build:ios

Before you can run the Windows app, you must first generate it:

yarn install-windows-test-app --use-nuget

To start the Windows app, run:

yarn windows

Alternatively, you can also run the app within Visual Studio by opening the solution file:

start windows/Sample.sln

If you choose to use Visual Studio, remember to first set the target platform to x64. It is set to ARM by default.

Note: If you made changes to app.json or any other assets, you should re-run install-windows-test-app to make sure that the changes are included in the Visual Studio project.

Configuring the Test App

All configuration of the test app is done via app.json (otherwise known as the manifest). You can learn more about that in the wiki.

Additionally, you can find platform specific documentation below:

Known Issues

For a list of known issues and workarounds, please go to the Troubleshooting page in the wiki.

About

react-native-test-app provides a test app for all supported platforms as a package

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 38.8%
  • C++ 16.2%
  • Swift 15.2%
  • Ruby 11.3%
  • Kotlin 11.1%
  • Objective-C 5.3%
  • Other 2.1%