EVERYTHING XIAOMI
Get listed

uvu

uvu is a free, lightweight test runner for Node.js and browser projects.

Place
#9 of 23
Score
6.4
uvu's website

What uvu is

uvu is a free, lightweight test runner for Node.js and browser projects. It supports asynchronous tests, native ES modules, and individually executable test files, so suites can also run directly with Node.js. Tests can be grouped into named suites or registered through a simpler test interface, and snapshot testing is supported. The optional CLI collects and runs suites, with options to stop after a failure, ignore patterns, preload modules, set a working directory, and colorize output. For directory-based selection, it uses regular-expression patterns rather than glob patterns. The optional assertion module works in browsers and can be replaced with another library, including Node.js’s native assert module. The CLI is not required. Install uvu with `npm install --save-dev uvu`. The project is MIT-licensed and credits Luke Edwards; its package metadata specifies Node.js version >=8.

Good

  • Runs individual test files directly with Node.js
  • Supports async tests and native ES modules
  • Includes snapshot testing
  • Assertion module is browser-compatible
  • CLI offers failure, ignore, preload, and color options

Watch out

  • CLI directory matching uses regular expressions, not glob patterns
  • Node.js version requirement is >=8

Who it suits

uvu suits developers building Node.js or browser projects who want to organize and run tests, including asynchronously. It can also suit projects that need to run individual test files or use a different assertion library.

Verdict

uvu combines a small-footprint test runner with flexible test organization and optional CLI use. Its regex-based directory matching is worth noting if your workflow expects glob patterns.

Plans and prices

From uvu's own pricing page, checked 8 Oct 2026.

All about pricing
PlanPriceWhat it gives you
uvuFreeMIT-licensed test runner for Node.js and the browser

The facts

Each one read from uvu's own pages, with the date it was checked.

What it does

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

Where it runs

Browser support
The README says uvu is browser-compatible, and its assertion module is also browser-compatible.checked 7 Oct 2026

Alternatives to uvu

All alternatives
  1. 1QUnit logo

    QUnit

    Free planAndroidiOSWebAPI
    7.4Free plan
  2. 2Web Test Runner logo

    Web Test Runner

    Free planWebLinuxmacOSSelf-hosted
    6.9Free plan
  3. 3Cucumber.js logo

    Cucumber.js

    Free planLinuxmacOSSelf-hostedWindows
    6.8Free plan
  4. 4

    Karma

    Free planAndroidiOSWebLinux
    6.7Free plan
  5. 5Vitest logo

    Vitest

    Free planWebLinuxmacOSWindows
    6.6Free plan
  6. 6

    Jasmine

    Free planWebLinuxmacOSWindows
    6.5Free plan