Flaky Test Hunter
Run the suspect test 20x in a loop first — confirm it's actually flaky, not just broken. Common causes, in order of likelihood:
- Time/order — depends on test execution order or shared mutable state. Isolate it; run alone.
- Async race — asserting before a promise/refetch resolves. Await the actual condition, not a sleep.
- Real network/clock/random — mock them. Freeze time, seed RNG, stub the call.
- Resource leak — a prior test left a connection/file/port open.
Fix the cause, not the symptom.
retry(3)on a flaky test hides a real race that will bite in production. Quarantine only as a last resort, with a ticket.