Rstest
rstest.rs
What it is
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.
Spec sheet
- Purpose
- Rstest is a JavaScript and TypeScript testing framework built on Rsbuild and Rspack.Read 30 Sep 2026 · rstest.rs
- License
- Rstest is free and open source software released under the MIT license.Read 30 Sep 2026 · rstest.rs
- Browser support
- Browser Mode uses Playwright and can run tests in Chromium, Firefox, and WebKit.Read 30 Sep 2026 · rstest.rs
- Build integration
- Rstest can reuse Rsbuild, Rslib, or Rspack configuration, including aliases, transforms, and plugins.Read 30 Sep 2026 · rstest.rs
- CI scaling
- It supports multi-project testing, test sharding, blob report merging, and coverage thresholds for CI workflows.Read 30 Sep 2026 · rstest.rs
- Editor integration
- The Rstack VS Code extension lets users browse, run, and debug Rstest tests inside VS Code.Read 30 Sep 2026 · rstest.rs
- End-to-end testing
- The @rstest/playwright integration runs E2E tests against local, preview, or deployed URLs.Read 30 Sep 2026 · rstest.rs
- Execution model
- It bundles tests through Rspack's dependency-graph-based build pipeline and uses SWC transforms.Read 30 Sep 2026 · rstest.rs
- Module Federation
- Rstest can load real Module Federation remotes in Node, JSDOM, and Browser Mode tests through @module-federation/rstest.Read 30 Sep 2026 · rstest.rs
- Runtime requirement
- The quick start requires Node.js version 20.19.0 or newer and recommends the Node.js LTS version.Read 30 Sep 2026 · rstest.rs
- Test environments
- It runs tests in Node.js, simulated DOM environments using jsdom or happy-dom, and real browsers.Read 30 Sep 2026 · rstest.rs
- Testing features
- Built-in capabilities include Jest-compatible assertions, snapshots, mocks, spies, file-level isolation, lifecycle hooks, reporters, and test filtering.Read 30 Sep 2026 · rstest.rs
Plans and prices
Strong points and limits
Strong points
- Runs tests in Node.js, simulated DOMs, and browsers
- Supports snapshots, mocks, spies, and coverage reporting
- Browser Mode supports Chromium, Firefox, and WebKit
- Includes CI sharding and multi-project testing
Limits
- Quick start requires Node.js 20.19.0 or newer
- Browser Mode uses Playwright
Who it suits
Rstest suits JavaScript and TypeScript teams that want to reuse Rsbuild, Rslib, or Rspack configuration in their tests. It also fits projects needing browser tests, coverage reporting, or CI sharding.
Verdict
Rstest combines familiar testing tools with Rspack-based bundling and options for Node, DOM, browser, and CI workflows. Check the Node.js requirement and its fit with your existing build configuration before adopting it.
Where Specifiction places it
- JavaScript Testing Frameworks#16 of 237.3