Rstest vs Vitest
Rstest
rstest.rsVitest
vitest.devSide by side
| Figure | Rstest | Vitest |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| Plans published | 1 | 1 |
| Spec score · JavaScript Testing Frameworks | 7.3 (#16) | 7.6 (#12) |
Plans
In their own words
Rstest
Rstest is a free, open-source testing framework for JavaScript and TypeScript, built on Rsbuild and Rspack. It bundles tests through Rspack’s dependency-graph build process and applies SWC transforms. Projects can reuse configuration from Rsbuild, Rslib, or Rspack, including aliases, transforms, and plugins. Tests run in Node.js, simulated DOM environments with jsdom or happy-dom, and real browsers. Browser Mode uses Playwright to run tests in Chromium, Firefox, and WebKit; an integration supports end-to-end tests against local, preview, or deployed URLs. Rstest can also load Module Federation remotes in Node, JSDOM, and Browser Mode. Its built-in tools include Jest-compatible assertions, snapshots, mocks, spies, lifecycle hooks, file-level isolation, reporters, filtering, and coverage reporting. For CI, it supports multi-project testing, sharding, blob report merging, and coverage thresholds. The Rstack VS Code extension lets users browse, run, and debug tests. The quick start requires Node.js 20.19.0 or newer, and recommends the Node.js LTS version. Rstest is released under the MIT license.
Vitest
Vitest is a free and open-source testing framework powered by Vite, though it can also run without Vite. It can reuse Vite configuration, plugins, resolvers, and transform pipelines. Jest-compatible APIs cover assertions, snapshots, and mocking, which can support migration from Jest. Watch mode reruns tests related to changed source or test files, and TypeScript, JSX, and ES modules work out of the box. Browser Mode runs tests in a browser and supports Playwright and WebdriverIO providers. Component testing covers Vue, React, Svelte, Lit, Marko, and other frameworks. Vitest supports coverage through V8 or Istanbul, benchmarking powered by Tinybench, parallel execution, parameterized cases, and property-based checks. An official Visual Studio Code extension is available, and the framework can be tried in StackBlitz without local installation. The listed requirements are Vite 6.4.0 or later and Node 22.12.0 or later. Help is available through the Vitest Discord community and GitHub Discussions.