Detecting the unexpected in React applications
summary
Claim: randomizing event order finds UI race bugs that normal tests miss. Demonstration uses property based testing with the fast check scheduler to reorder promise resolution, produces a failing seed and counterexample path, and then shrinks the case to a minimal repro. The repo shows an autocomplete test augmented to generate queries and results, CI reproduces failures reliably, and the technique surfaces real React timing bugs (including a Suspense race) that are then debuggable.
AI-written summary · about
chapters (8)
- 0:00Intro
- 0:25What is an unexpected bug
- 2:55What are race conditions
- 5:03Search to autocomplete
- 6:50Testing autocomplete
- 10:42FastCheck
- 15:07PropertyBased Testing
- 23:10Questions
related talks
30mBye‑bye Race Conditions — Detect Them Before Our Users!
26mThe missing piece of testing
14mReact-tRace: A Semantics for Understanding React Hooks
42mSurprise yourself with Property Based Testing
47mREACTive Automation: How to Avoid Shooting Yourself in the Foot
37mFront-end Testing for Skeptics
28mRace Conditions in JavaScript Apps
27mThe weird things about React
