Jest vs uvu
Jest
jestjs.iouvu
github.comSide by side
| Figure | Jest | uvu |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · JavaScript Testing Frameworks | 7.7 (#8) | 7.6 (#11) |
| Integrations | The guide documents use with webpack and Parcel, and says Jest is not supported by Vite because of plugin system incompatibilities. | The README demonstrates using `uvu` with Node.js and shows `esm` as a preload for legacy Node.js versions. |
| Intended users | The site describes Jest as designed to ensure correctness across any JavaScript codebase. | The project describes uvu as a test runner for Node.js and browser projects. |
| Purpose | Jest is a JavaScript testing framework focused on simplicity and correctness. | uvu is a fast, lightweight test runner for Node.js and the browser. |
Plans
In their own words
Jest
Jest is a free, self-hosted JavaScript testing framework focused on checking correctness. It supports projects using Babel, TypeScript, Node, React, Angular, Vue and other technologies, and aims to run without configuration on most JavaScript projects. Snapshot tests compare rendered output with a saved reference. Tests run in separate processes for parallel execution, while the --coverage flag can collect coverage, including from files without tests. Mock functions and a custom import resolver support replacing objects and observing calls. Interactive watch mode reruns tests related to changed files. Installation guidance covers npm, Yarn, pnpm and Bun. Documentation describes webpack and Parcel use, but states that Vite is unsupported because of plugin-system incompatibilities. With Babel handling TypeScript, Jest transpiles tests without type-checking them during execution. A free plan is listed at free, with no paid plans or usage limits stated.
uvu
uvu is a free, lightweight test runner for Node.js and browser projects. It supports individually executable test files, asynchronous tests that may return Promises, native ES modules and a familiar API. Tests can be grouped into named suites or registered through a simpler test interface, and snapshot testing is supported. Each file is self-contained and can also be run directly with Node.js. The optional CLI collects and executes suites, with options to stop after the first failure, ignore patterns, preload modules, set a working directory and colorize output. When a directory is specified, file matching takes a regular-expression pattern rather than relying on glob patterns. The optional assertion module works in browsers and can be swapped for another library, including Node.js’s native assert. Installation uses `npm install --save-dev uvu`. Package metadata specifies Node.js version `>=8`; the repository identifies the project as MIT licensed and credits Luke Edwards.