Detox is an end-to-end testing framework for mobile React Native apps that enables gray-box testing with direct control over the app. It automates UI interactions on simulators and real devices, synchronizes with the app runtime and provides deterministic tests. It supports gestures, network mocking and CI integration for reliable regressions.
Use this profile to understand the building block briefly, place it in the model, and open related building blocks.
Technical building block: can be automated, integrated, or operated.
Concrete cog in the system that works inside larger relationships.
Detox is a framework for deterministic end-to-end testing of mobile React Native apps. It drives the app directly, synchronizes with runtime events, and makes repeatable UI tests practical on simulators and real devices.
Detox was developed in the Wix environment for mobile React Native apps to reduce the flakiness typical of classic UI automation. Its design follows a gray-box approach: tests control the app directly while the framework observes asynchronous activity and synchronizes with it, instead of relying only on visible elements or fixed delays.
Think of Detox as a test driver with a synchronization layer. The script triggers gestures and checks, the app continues internal work, and Detox waits for execution to settle before advancing. That keeps the test close to a real user flow while still coordinating with the app's runtime behavior.
The test exercises the UI but also accounts for observable runtime behavior in the app.
Asynchronous work in the app is aligned with the test flow to avoid brittle timing assumptions.
Tests run on simulators or real devices, so they cover the mobile execution context.
Taps, swipes, and similar inputs are automated to cover real user paths.
Detox can be added to automated build and test pipelines for reproducible regression checks.
Detox is useful when mobile React Native apps need reliable end-to-end regression tests and UI flakiness is a problem. It is especially helpful for real interaction paths, asynchronous screens, and CI runs. The trade-offs are extra setup, device or simulator operation, and slower execution than pure unit tests; it does not replace fine-grained logic testing.
Where this building block is located in the topic model.
No structure path available.
Explore how this building block connects to concepts, methods, technologies, and tools.
These sources establish the term and its professional meaning.
All direct connections of the current building block in a compact text view.
This classification shows where the building block typically matters, how demanding it is, and what kind of impact it has in the model.
The level within the organization (enterprise, domain, team) at which the AssetBlock is applied.