Vitest vs Web Test Runner
Vitest
vitest.devWeb Test Runner
modern-web.devSide by side
| Figure | Vitest | Web Test Runner |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · JavaScript Testing Frameworks | 7.6 (#12) | 8.2 (#4) |
| Browser testing | Browser Mode runs tests natively in a browser and supports Playwright and WebdriverIO providers. | It can run tests in headless browsers using Puppeteer, Playwright, Selenium, or WebdriverIO. |
| Support | The guide directs users needing help to the Vitest Discord community and GitHub Discussions. | The project links to Discord for community discussion and lists sponsorship and contributions as ways to support it. |
Plans
In their own words
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.
Web Test Runner
Web Test Runner is a test runner for web applications, installable as an npm development dependency. It runs tests in parallel and isolation, giving each test file its own browser environment. Headless testing is supported through launchers including Puppeteer, Playwright, Selenium, BrowserStack, and WebdriverIO. Playwright can use Chromium, Firefox, and WebKit; BrowserStack runs tests remotely, including against older browser versions. Debug mode opens a browser window with developer tools, and the runner reports browser logs, 404 responses, and errors. Its command line offers interactive watch mode that reruns tests when files change, plus code coverage with configurable thresholds and reports. Default coverage instrumentation uses Chromium. Other features include ES module mocking through import maps and Mocha integration, with guidance for a custom test framework. The project is MIT-licensed, powered by esbuild and Rollup plugins, and directs users to GitHub and Discord for help and discussion. It is free and open source.