reassure
Reassure is a performance testing library for React and React Native apps that automates regression detection by measuring render times and counts across multiple test runs. It integrates with existing Jest and React Testing Library setups to catch performance regressions before they reach production.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | callstack/reassure |
| Owner | callstack |
| Primary language | TypeScript |
| License | MIT — OSI-approved |
| Stars | 1.4k |
| Forks | 36 |
| Open issues | 19 |
| Latest release | [email protected] (2026-06-15) |
| Last updated | 2026-06-25 |
| Source | https://github.com/callstack/reassure |
What reassure is
Reassure measures render characteristics (duration and count) via Jest-based test scenarios, applies statistical analysis to detect significant changes, and generates CI-friendly reports. It supports both component rendering and arbitrary JavaScript function performance measurement, with configurable repeat counts and statistical thresholds.
Get the reassure source
Clone the repository and explore it locally.
git clone https://github.com/callstack/reassure.gitcd reassure# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Tests must be written with `.perf-test.ts(x)` or `__perf__/` naming; ensure Jest configuration recognizes these patterns or update via --testMatch.
- Scenario functions must properly await async operations (findBy queries, waitFor) to capture complete render cycles and avoid incomplete measurements.
- CI stability is critical; run baseline measurements on stable branch first, then compare new PRs against known baseline to reduce noise.
- Default repeat counts may require tuning based on CI environment variance; statistical thresholds are configurable via environment variables.
- Integration with Danger.js is documented for PR comment reporting; ensure CI runner has permissions to post comments on pull requests.
When to avoid it — and what to weigh
- You need real-world user session profiling — Reassure measures synthetic test scenarios, not actual user interactions or production behavior. Use APM tools (Datadog, New Relic) for real-world performance data.
- You lack Jest and Testing Library infrastructure — Reassure requires existing Jest setup and either React Native Testing Library or React Testing Library. Teams without this testing foundation will need significant setup.
- You need cross-platform performance comparison — Reassure measures in test environment, not on actual devices. For iOS/Android device metrics, native profiling tools are more appropriate.
- You require strict deterministic benchmarks — Runtime variance is inherent to JavaScript environments. Reassure mitigates this via statistical analysis, but does not guarantee deterministic results.
License & commercial use
MIT License. Permissive open-source license with no restrictions on commercial, proprietary, or closed-source use. Attribution appreciated but not required.
MIT License permits unrestricted commercial use, modification, and distribution. No licensing fees or commercial restrictions. Contributions to the open-source project are appreciated but not mandatory. No proprietary claims or enterprise licensing model present.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Strong |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Strong |
| Assessment confidence | High |
No external service calls or data transmission. Runs entirely in local CI environment and stores results in local `.reassure/` directory. No embedded telemetry or analytics reported in documentation. Inherits security context of Jest/Node.js runtime; ensure CI runner has appropriate access controls. No explicit security audit or CVE history provided.
Alternatives to consider
Lighthouse CI
Measures web app performance via Lighthouse audits (metrics, accessibility, SEO) with CI reporting. Better for full-page metrics; Reassure targets component-level React render performance.
React DevTools Profiler + custom CI scripts
Native React profiling API; requires manual script integration and statistical analysis. More low-level; Reassure provides batteries-included tooling and statistical significance testing.
WebPageTest or SpeedCurve
Real browser performance testing with device simulation and filmstrip analysis. Captures user-perceived performance; Reassure is synthetic test-level and component-focused.
Build on reassure with DEV.co software developers
Reassure integrates with your existing Jest and Testing Library setup. Install via npm/yarn, write performance scenarios, and catch regressions before they ship.
Talk to DEV.coRelated 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.
reassure FAQ
How does Reassure differ from React's built-in Profiler?
Can I use Reassure without React Testing Library?
What does 'statistical significance' mean in Reassure results?
Do I need to commit .reassure baseline files to Git?
Work with a software development agency
Need help beyond evaluating reassure? 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 automate your React performance testing?
Reassure integrates with your existing Jest and Testing Library setup. Install via npm/yarn, write performance scenarios, and catch regressions before they ship.