Detox

wix.github.io ↗

Run gray-box end-to-end tests against React Native apps on iOS and Android.

SI Score
80/100
Pricing
Not confirmed
Free plan
Not confirmed
Sign-up required
Not confirmed

Ask SI about Detox

Answers use saved listing facts and recorded sources.
Homepage screenshot
Screenshot of the Detox homepage

What it does

Detox is a JavaScript end-to-end testing and automation framework aimed at React Native applications. It coordinates test actions with asynchronous app activity, provides APIs for actions and expectations, and integrates with Jest by default while allowing other test runners. The test target is the app built by the developer, running on a configured simulator or device rather than a mock UI.

Detox adds a device-level check after unit tests: a test can launch the app, tap a control, and assert that the resulting text appears. The official setup starts in the React Native project containing package.json, installs Detox and its Jest integration, and initializes project configuration and a starter end-to-end test. The environment guide then covers the native simulator/device setup needed for the selected application type.

The framework's synchronization model waits for app activity to settle before progressing through actions and expectations, which is intended to reduce timing issues in UI tests. A useful first test is a short user journey that crosses a real screen boundary, such as opening a form and checking that a submitted item appears. You provide the React Native app, its build configuration, the expected UI outcome, and a configured simulator or device. Detox is MIT-licensed.

The official documentation distinguishes standard React Native projects from Expo setup, which follows a separate guide. The homepage also notes that Detox can run on devices but physical-device support is not yet available for iOS; account for that when deciding whether simulator coverage is sufficient.

Strengths

  • The official framework supports end-to-end JavaScript tests for both iOS and Android applications.
  • Detox synchronizes tests with asynchronous app operations and integrates with Jest out of the box.
  • The first-test guide demonstrates testing a real app action and visible result rather than only calling a unit-level function.

Watch out for

  • The setup guides distinguish standard React Native from Expo projects; Expo requires a separate setup path.
  • The official homepage states that physical-device testing is not yet supported on iOS.

Best for

  • React Native teams checking key mobile user journeys on configured simulators
  • Projects that need end-to-end checks for app screens, actions, and visible outcomes in CI

Sources