DEV.co
Open-Source Testing · wix

Detox

Detox is an open-source end-to-end testing framework for React Native mobile apps that runs tests on real devices or simulators. It uses a gray box approach (accessing app internals) to eliminate flakiness and provide deterministic test execution without manual waits.

Source: GitHub — github.com/wix/Detox
12k
GitHub stars
1.9k
Forks
JavaScript
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorywix/Detox
Ownerwix
Primary languageJavaScript
LicenseMIT — OSI-approved
Stars12k
Forks1.9k
Open issues197
Latest release20.51.3 (2026-05-30)
Last updated2026-06-16
Sourcehttps://github.com/wix/Detox

What Detox is

Detox provides JavaScript-based E2E testing for React Native (Android & iOS) with automatic synchronization of async operations, modern async-await APIs, and CI/CD integration. It monitors app state to reduce race conditions and flakiness inherent in black box mobile testing.

Quickstart

Get the Detox source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/wix/Detox.gitcd Detox# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

React Native CI/CD Pipelines

Automate critical user flows (login, checkout, navigation) in continuous integration environments on iOS and Android simulators without manual intervention or flaky wait strategies.

Cross-Platform Regression Testing

Write once in JavaScript and run the same test suite across Android and iOS platforms, ensuring feature parity and reducing test maintenance overhead for multi-platform apps.

Pre-Release Device Testing

Execute deterministic E2E scenarios on physical devices before release to catch platform-specific issues that simulator-only testing may miss, with reduced flakiness compared to traditional UI automation tools.

Implementation considerations

  • React Native version compatibility: officially supports v0.77.x–v0.84.x with full New Architecture support; verify your app version against the compatibility matrix before adoption.
  • Device/simulator infrastructure required: tests run on actual iOS/Android simulators or devices; ensure your CI environment can provision and manage them (emulator farm or device lab).
  • Test synchronization model: relies on internal app monitoring (gray box), so requires test app to expose testID attributes and async operation hooks; modifications to app code may be necessary.
  • Jest integration built-in but test runner agnostic: default setup uses Jest; can integrate with other runners if needed, but Jest is the recommended path.
  • Debugging experience: async-await API allows breakpoints in tests, but real device iOS testing is not yet supported; primarily simulator-focused for iOS.

When to avoid it — and what to weigh

  • Non-React Native Apps — Detox is purpose-built for React Native. For native iOS/Android apps, Swift UI testing or Espresso/XCTest may be more appropriate.
  • Heavy Manual Testing Requirements — If your QA process relies on exploratory or complex manual scenarios not easily scripted, E2E automation frameworks like Detox may not provide sufficient ROI without significant test design investment.
  • Minimal CI/CD Investment — Detox requires DevOps infrastructure (simulators/devices, build agents, CI configuration). If your team lacks CI/CD maturity, setup and maintenance overhead may exceed benefits.
  • Limited JavaScript/Node.js Expertise — Test authoring and debugging require JavaScript and async patterns; teams without JS experience may face a steeper onboarding curve than lower-code alternatives.

License & commercial use

Detox is released under the MIT License, a permissive open-source license that allows commercial use, modification, and distribution with minimal restrictions.

MIT License permits commercial use without restriction. No proprietary license, SLA, or commercial support model is evident from the provided data. For production use, verify support availability through the project's Discord community or consider commercial support arrangements independently.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Detox runs test code against live app instances in simulators/devices; no security audit or vulnerability history provided in available data. Verify that test infrastructure is isolated from production environments. Test credentials and sensitive data in E2E tests should follow secure secret management practices (never hardcoded). Gray box approach may expose internal app structure; ensure test code and artifacts do not leak proprietary implementation details.

Alternatives to consider

Appium

Cross-platform mobile automation (iOS, Android, web); works with any app (not React Native–specific); more mature ecosystem but generally more flaky without gray box synchronization.

Espresso (Android) / XCTest (iOS)

Native platform test frameworks with tighter OS integration; lower-level control; require separate codebases per platform; preferred for non-React Native apps or when platform-specific testing is mandatory.

Cypress (web-focused), Playwright (cross-browser)

Modern, deterministic E2E testing; not mobile-native but can test React Native web builds; simpler setup for web-first teams; less suitable for native mobile UI.

Software development agency

Build on Detox with DEV.co software developers

Explore Detox's gray box testing approach and integrate it into your CI/CD pipeline. Start with the getting-started guide and join the community on Discord for support.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

Detox FAQ

Can I use Detox to test native (non-React Native) iOS and Android apps?
No. Detox is purpose-built for React Native. For native apps, use Appium, Espresso (Android), or XCTest (iOS).
Does Detox support real device testing on iOS?
Not yet according to the README. Physical iOS device support is not yet available; tests primarily run on iOS simulators. Android device testing is supported.
What test runners can I use with Detox?
Detox is test runner agnostic and ships with Jest integration out of the box. Other runners can be used by integrating Detox APIs manually, but Jest is recommended.
Is Detox free to use commercially?
Yes, under the MIT License. However, no commercial support agreement, SLA, or warranty is stated in the provided data. Community support via Discord and GitHub issues is available.

Software development & web development with DEV.co

Need help beyond evaluating Detox? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source testing integrations — and maintain them long-term.

Ready to reduce flaky E2E tests for your React Native app?

Explore Detox's gray box testing approach and integrate it into your CI/CD pipeline. Start with the getting-started guide and join the community on Discord for support.