5-15x faster on real suites
Migration takes 30 minutes, almost drop-in
mock.module and spyOn with auto restore
Inline and file snapshots without plugins
Built-in coverage with CI threshold gates
Stay on Vitest only for browser mode
Most JavaScript test runners are slow because they were built on top of bundlers that were never meant to run tests. Vitest stacks on Vite, Jest stacks on Babel, and both pay a tax in cold start, transform pipelines, and worker spin-up. For years I accepted this. A 1500-test backend suite that takes 22 seconds locally and 48 seconds on CI felt normal. Then I moved a few projects over to Bun's built-in bun test runner and the numbers stopped feeling normal. The same suite finished in 3.1 seconds locally. CI dropped to 6 seconds. No config file. No plugin chain. The API is the same as Vitest, so the migration was almost a find-and-replace.…