Freedom251 › JavaScript Testing Frameworks
uvu

What uvu is
uvu is a free test runner for Node.js and browser projects, described as lightweight and fast. It supports self-contained test files that can be run individually, asynchronous tests, native ES modules, and a familiar API. Tests can be arranged into named suites or registered through a simpler test interface, and snapshot testing is supported. Its optional CLI gathers and runs suites; CLI options include stopping on the first failure, ignoring patterns, preloading modules, choosing a working directory, and colorized output. When a directory is specified, file selection uses a regular-expression pattern rather than glob patterns. The optional uvu/assert module works in browsers and can be replaced by another assertion library, including Node.js's native assert module. The CLI is optional, and individual files can also be run with Node.js. The README gives `npm install --save-dev uvu` as the installation command. The project is MIT licensed and credits Luke Edwards; package metadata specifies Node.js version `>=8`.
Who it suits
It suits developers building Node.js or browser projects who want individually runnable test files, async support, and optional CLI collection.
What it does well
- Runs self-contained test files individually.
- Supports async tests and native ES modules.
- Works in browsers, including its optional assertion module.
- CLI can stop at the first failure.
What to know first
- Directory matching uses regular expressions, not glob patterns.
- Using the CLI is optional, so it is not required for test execution.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| uvu | MIT-licensed test runner for Node.js and the browser | Free |
As github.com lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Open the uvu GitHub website.
- Install it in your project with `npm install --save-dev uvu`.
- Organize tests into named suites or use the `test` interface.
- Run a self-contained test file with Node.js, or use the optional CLI to collect and execute suites.
Verdict
uvu combines individually runnable tests with optional suite collection and browser support. Its file matching uses regular expressions rather than glob patterns when a directory is specified.
Questions
How much does uvu cost?
The listed plan is free, and the pricing model is free.
Does uvu have a free trial?
No. The listed free trial status is no.
Which runtimes does uvu support?
The listed runtimes are Node.js and browser. The package metadata specifies Node.js version `>=8`.
Can I use a different assertion library?
Yes. The optional `uvu/assert` module can be replaced with another library, including Node.js's native `assert`.
Is uvu open source?
The repository identifies uvu as MIT-licensed.
Who is uvu's maintainer?
The project credits Luke Edwards.
Facts from uvu's own pages
- Assertions
- The optional `uvu/assert` module works in Node.js and browser contexts, and the documentation says existing assertion libraries can be used instead. · github.com, 8 Oct 2026
- Async tests
- Test callbacks may be asynchronous and may return a Promise. · github.com, 8 Oct 2026
- Browser support
- The README says uvu is browser-compatible, and its assertion module is also browser-compatible. · github.com, 7 Oct 2026
- CLI
- The CLI collects and executes test suites, and using it is optional because test files can be run directly with Node.js. · github.com, 8 Oct 2026
- CLI options
- The CLI supports options to stop on the first failure, ignore patterns, preload modules, set a working directory, and colorize output. · github.com, 7 Oct 2026
- Features
- Its listed features include individually executable test files, async/await tests, native ES Modules, browser compatibility, and a familiar API. · github.com, 8 Oct 2026
- File isolation
- The documentation says test files are self-contained and can be run individually with Node.js. · github.com, 7 Oct 2026
- File matching
- The CLI intentionally does not rely on glob patterns and accepts a regular-expression pattern when a directory is specified. · github.com, 7 Oct 2026
- Glob behavior
- The CLI intentionally does not rely on glob patterns and accepts regular-expression patterns instead. · github.com, 8 Oct 2026
- Install
- The README gives `npm install --save-dev uvu` as the installation command. · github.com, 8 Oct 2026
- Installation
- The README gives npm install --save-dev uvu as its installation command. · github.com, 7 Oct 2026
- Integrations
- The README demonstrates using `uvu` with Node.js and shows `esm` as a preload for legacy Node.js versions. · github.com, 8 Oct 2026
- Intended users
- The project describes uvu as a test runner for Node.js and browser projects. · github.com, 7 Oct 2026
- License
- The repository identifies uvu as MIT licensed. · github.com, 8 Oct 2026
- Maintainer
- The README credits Luke Edwards and links to his personal site, which identifies him as a full stack developer and web designer in San Francisco. · lukeed.com, 8 Oct 2026
- Organization
- Tests can be organized into named suites or registered through the simpler `test` interface. · github.com, 8 Oct 2026
- Purpose
- uvu is a fast, lightweight test runner for Node.js and the browser. · github.com, 8 Oct 2026
- Runtime requirement
- The package metadata specifies Node.js version `>=8`. · github.com, 8 Oct 2026
- Test execution
- It supports individually executable test files, async/await tests, native ES modules, and a familiar API. · github.com, 7 Oct 2026
- Test selection
- The CLI supports directory and pattern arguments, ignore patterns, module preloads, a working directory option, colorized output, and exiting on the first failure. · github.com, 8 Oct 2026
Where uvu stands on Freedom251
- JavaScript Testing Frameworks#16 of 23