Detox
Gray-box end-to-end testing framework for React Native apps. Unlike Appium (black-box), Detox instruments the React Native app itself — enabling synchronization with the app's state to eliminate flakiness. Detox waits for the app to be 'idle' before executing test actions, dramatically reducing async timing issues. Written by Wix Engineering. Works with Jest test runner. Supports iOS (Simulator) and Android (Emulator) on CI.
Score Breakdown
⚙ Agent Friendliness
🔒 Security
Local testing framework. Test builds should use test credentials, not production data. iOS Simulator and Android Emulator provide OS-level isolation.
⚡ Reliability
Best When
You're building React Native apps and need reliable E2E tests without flakiness from async timing issues — Detox's gray-box approach eliminates most waitFor issues.
Avoid When
You need cross-platform native app testing (Swift, Kotlin) or simple component testing — Detox is React Native specific.
Use Cases
- • Write reliable E2E tests for React Native apps that sync with app state automatically — no arbitrary sleeps needed
- • Test React Native app navigation flows, form submissions, and multi-screen interactions in CI pipelines
- • Validate app behavior on specific device/OS configurations using Detox's device configuration system
- • Run React Native E2E tests on CI (GitHub Actions, Bitrise) with iOS Simulator and Android Emulator support
- • Test React Native apps with authentication flows, deep links, and push notification handling in automated test suites
Not For
- • Non-React Native mobile apps — use XCTest/XCUITest for native iOS, Espresso for native Android
- • Simple component unit testing — use React Native Testing Library and Jest
- • Quick iteration testing — Detox requires device/simulator setup and build; slower feedback than unit tests
Interface
Authentication
No authentication — local testing framework.
Pricing
MIT-licensed open source framework by Wix Engineering.
Agent Metadata
Known Gotchas
- ⚠ Detox requires building the app in a specific 'test' configuration — debug build with Detox instrumentation; release builds are not compatible
- ⚠ iOS testing requires macOS with Xcode installed — Android testing also possible on Linux; Detox iOS tests cannot run on non-macOS CI agents
- ⚠ testID prop must be added to React Native elements for Detox element queries — testID is React Native specific and has no web equivalent
- ⚠ Detox v20 moved to a new configuration format — older .detoxrc.js configs must be migrated; major version upgrades often require config changes
- ⚠ Animations must be disabled in test builds (UIApplication.shared.keyWindow?.layer.speed = 500) — animations cause element not found errors during transitions
- ⚠ Android emulator setup for CI requires AVD creation and emulator start as pre-test setup — Detox doesn't manage emulator lifecycle automatically
Alternatives
Full Evaluation Report
Detailed scoring breakdown, competitive positioning, security analysis, and improvement recommendations for Detox.
Scores are editorial opinions as of 2026-03-06.