The options
Vitest
Vite-native runner with esbuild speed, Jest-compatible APIs, and first-class TypeScript.
You ship a Vite app, value millisecond feedback, and test units or components in isolation.
Jest
The established standard with the largest plugin ecosystem and predictable snapshot testing.
Your team knows it, your stack is not Vite, and you need proven patterns over novelty.
Playwright
Cross-browser e2e with auto-waiting, web-first assertions, and parallel workers out of the box.
You test real user flows across Chromium, Firefox, and WebKit, and you value coverage plus speed.
Cypress
In-browser e2e with a time-travel UI, live screenshots, and a DOM snapshot at every step.
You want to watch each test run, scrub through DOM state, and debug flaky selectors visually.
Which one fits you?
Answer a few questions to get a recommendation.
Question 1 of 4