Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. JavaScript Testing Frameworks
  3. Pure Test

Pure Test

What it is

Pure Test is a free, zero-dependency test runner for JavaScript projects across Node.js, Deno, Bun, Cloudflare Workers, and browsers. Its API includes test suites, assertions, lifecycle hooks, spies, fake timers, and retry and timeout options. The command-line tool offers multiple reporters, test filters, file watching, sharding, and fail-fast execution. TypeScript test discovery requires the `--ts` option on Node.js and is automatic on Deno and Bun. A Deno adapter registers tests as `Deno.test()` calls for use with `deno test`. The project also provides Jest and Vitest migration guides and notes compatibility with common mock methods. For CI, `--shard` can divide test files across jobs, including when a shard has no files. Tests are not isolated, so lifecycle hooks are recommended for managing test state. The project is marked beta and its APIs may change. Pure Test is Apache-2.0 licensed, with no paid plans stated.

For and against

For

  • Works with Node.js, Deno, Bun, Workers, and browsers.
  • Includes lifecycle hooks, spies, and fake timers.
  • CLI supports filtering, watching, sharding, and fail-fast.
  • Deno adapter works with `deno test`.
  • Apache-2.0 licensed and free.

Against

  • Tests are not isolated.
  • Project is beta and APIs may change.
  • No module mocking, snapshot testing, or built-in coverage.

The verdict

Pure Test covers common test-runner needs and supports several JavaScript runtimes. Keep its lack of test isolation and beta status in mind when evaluating it.

Who it suits

Pure Test may suit JavaScript developers who want one test runner across several runtimes. Its CLI options and sharding support may also fit projects running tests in CI.

Plans and prices

Apache-2.0 open-source software

Free

No paid plans or pricing stated

Every plan, in full

On the record

CI use
The CLI supports `--shard` to split test files across jobs and exits cleanly for empty shards.github.com · read 7 Oct 2026
CLI
The CLI supports multiple reporters, test filters, file watching, sharding, and fail-fast execution.github.com · read 7 Oct 2026
Deno integration
A Deno adapter registers tests as `Deno.test()` calls for use with `deno test` and its filtering and IDE workflows.github.com · read 7 Oct 2026
Excluded features
The README says the runner will not support module mocking, snapshot testing, built-in coverage, worker isolation, or configuration files.github.com · read 7 Oct 2026
Installation
The README gives `npm install @igorjs/pure-test --save-dev` as the installation command.github.com · read 7 Oct 2026
Isolation limitation
The runner does not isolate tests; the README recommends using lifecycle hooks to manage test state.github.com · read 7 Oct 2026
Jest and Vitest migration
The README provides migration guides and says mock APIs are compatible for common methods such as `mockReturnValue` and `mock.calls`.github.com · read 7 Oct 2026
License
The repository identifies the project as Apache-2.0 licensed.github.com · read 7 Oct 2026
Maker and company details
The opened repository page identifies the owner as `igorjs` but does not state a maker name, headquarters, or founding date.github.com · read 7 Oct 2026
Project status
The README identifies the project as beta and says its APIs may change.github.com · read 7 Oct 2026
Purpose
Pure Test is a minimal, zero-dependency, cross-runtime test runner.github.com · read 7 Oct 2026
Runtime support
The project says it works on Node.js, Deno, Bun, Cloudflare Workers, and browsers.github.com · read 7 Oct 2026
Testing features
Its API includes test suites, assertions, lifecycle hooks, spies, fake timers, and retry and timeout options.github.com · read 7 Oct 2026
TypeScript
TypeScript test discovery is opt-in with `--ts` on Node.js and automatic on Deno and Bun.github.com · read 7 Oct 2026

Alternatives to Pure Test

Every alternative, ranked