Detox
Detox React Native E2E testing. Use for RN testing.From its SKILL.md
npx -y skills add G1Joshi/Agent-Skills --skill detoxAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 12 stars12 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
1.6 KB, 380 tokens by cl100k_base, as published. Nobody here has run it
Detox
Detox is designed for React Native. Unlike Appium (Black-box), Detox works "Gray-box" by running inside your app, monitoring the main thread. It knows when the app is busy/idle, eliminating flaky waits.
When to Use
- React Native Apps: The gold standard for RN E2E.
- Speed & Stability: Much less flaky than Appium for RN because of synchronization.
- CI/CD: Designed to be fast enough for CI.
Quick Start
describe("Example", () => {
beforeAll(async () => {
await device.launchApp();
});
it("should show hello screen after tap", async () => {
await element(by.id("hello_button")).tap();
await expect(element(by.text("Hello!!!"))).toBeVisible();
});
});
Core Concepts
Synchronization
Detox monitors network requests, animations, and timers. It waits for the app to go "Idle" before executing the next command. No sleep() needed.
Matchers
by.id(), by.text(), by.label(). Needs testID props on React Native components.
Best Practices (2025)
Do:
- Add
testIDprops: Add them to all interactive elements in your React Native code. - Use
device.reloadReactNative(): Faster than relaunching the whole app for every test. - Mock Metro: Mock JS bundles to avoid network flakes in CI.
Don't:
- Don't run animations: Disable them in the test build for speed and stability.
- Don't combine with Appium: Choose one for your project.
References
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.