Skip to content
SPECIFICTION
Get listed

uvu

github.com

Free plan Web
Visit github.com
Spec score 7.6 #11 of 23 in JavaScript Testing Frameworks

What it is

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.

Spec sheet

Purpose
uvu is a fast, lightweight test runner for Node.js and the browser.Read 8 Oct 2026 · github.com
Intended users
The project describes uvu as a test runner for Node.js and browser projects.Read 7 Oct 2026 · github.com
Integrations
The README demonstrates using `uvu` with Node.js and shows `esm` as a preload for legacy Node.js versions.Read 8 Oct 2026 · github.com
License
The repository identifies uvu as MIT licensed.Read 8 Oct 2026 · github.com
Assertions
The optional `uvu/assert` module works in Node.js and browser contexts, and the documentation says existing assertion libraries can be used instead.Read 8 Oct 2026 · github.com
Async tests
Test callbacks may be asynchronous and may return a Promise.Read 8 Oct 2026 · github.com
Browser support
The README says uvu is browser-compatible, and its assertion module is also browser-compatible.Read 7 Oct 2026 · github.com
CLI
The CLI collects and executes test suites, and using it is optional because test files can be run directly with Node.js.Read 8 Oct 2026 · github.com
CLI options
The CLI supports options to stop on the first failure, ignore patterns, preload modules, set a working directory, and colorize output.Read 7 Oct 2026 · github.com
Features
Its listed features include individually executable test files, async/await tests, native ES Modules, browser compatibility, and a familiar API.Read 8 Oct 2026 · github.com
File isolation
The documentation says test files are self-contained and can be run individually with Node.js.Read 7 Oct 2026 · github.com
File matching
The CLI intentionally does not rely on glob patterns and accepts a regular-expression pattern when a directory is specified.Read 7 Oct 2026 · github.com
Glob behavior
The CLI intentionally does not rely on glob patterns and accepts regular-expression patterns instead.Read 8 Oct 2026 · github.com
Install
The README gives `npm install --save-dev uvu` as the installation command.Read 8 Oct 2026 · github.com
Installation
The README gives npm install --save-dev uvu as its installation command.Read 7 Oct 2026 · github.com
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.Read 8 Oct 2026 · lukeed.com
Organization
Tests can be organized into named suites or registered through the simpler `test` interface.Read 8 Oct 2026 · github.com
Runtime requirement
The package metadata specifies Node.js version `>=8`.Read 8 Oct 2026 · github.com
Test execution
It supports individually executable test files, async/await tests, native ES modules, and a familiar API.Read 7 Oct 2026 · github.com
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.Read 8 Oct 2026 · github.com

Plans and prices

uvu Free MIT-licensed test runner for Node.js and the browser Read 8 Oct 2026 · github.com

Every uvu plan and price →

Strong points and limits

Strong points

  • Test files can run individually with Node.js.
  • Supports async tests and native ES modules.
  • Browser-compatible runner and assertion module.
  • Optional CLI provides several suite controls.
  • MIT licensed and free.

Limits

  • Directory matching uses regular expressions, not glob patterns.
  • The CLI is optional rather than required.

Who it suits

uvu suits developers building Node.js or browser projects who want individually runnable tests, asynchronous test support or an optional CLI. It can also fit projects that prefer another assertion library.

Verdict

uvu offers a small set of test-running workflows across Node.js and browser projects, with the CLI and assertion module both optional. Its file-matching approach is worth noting if a project relies on glob patterns.

Where Specifiction places it

Alternatives to uvuAll alternatives →