Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. JavaScript Testing Frameworks
  3. QUnitX

QUnitX

What it is

QUnitX is a free, MIT-licensed testing project for JavaScript and TypeScript. Teams can keep one test file and run it with Node.js, Deno, or a browser. The project requires no configuration files, setup files, transform pipeline, injected globals, or runtime dependencies, and it runs TypeScript as-is. Assertions cover deep and partial equality, error matching, ordered steps, assertion counts, and per-test timeouts. Nested modules provide before, beforeEach, afterEach, and after hooks. Its browser interface filters tests, shares filtered views by URL, reruns individual tests, and displays assertion differences. The linked CLI runs tests in headless Chromium, Firefox, or WebKit and streams TAP output. It supports esbuild plugins, GitHub annotations, JUnit XML, V8 coverage reports, and a JavaScript API. Core installation needs Node.js 22 or later or Deno 2 or later. The CLI needs Node.js 24 or Deno 2.7 or later, and standalone Chromium mode needs Chrome or CHROME_BIN.

For and against

For

  • Runs one file across three environments
  • No configuration or runtime dependencies
  • Nested lifecycle hooks
  • Browser filtering and assertion diffs
  • JUnit, TAP, and coverage outputs

Against

  • Requires Node.js 22+ or Deno 2+
  • CLI requires newer runtimes
  • ESM only
  • Browser coverage has source-map limitation

The verdict

QUnitX provides a single, open-source testing approach across Node.js, Deno, and browsers. Its version requirements and browser coverage limitation are important deployment considerations.

Who it suits

QUnitX suits JavaScript or TypeScript teams using Node.js, Deno, or browser testing. It is especially relevant to users wanting a configuration-free, open-source runner.

On the record

Assertions
Assertions include structural and partial equality, error matching, execution-order checks, assertion counts, and per-test timeouts.github.com · read 8 Oct 2026
Browser options
The documented browser runner supports Chromium, Firefox, and WebKit, plus watch mode, fail-fast, timeout, and lifecycle hooks.github.com · read 8 Oct 2026
Browser runner
The separate qunitx-cli bundles tests for a real browser and streams TAP to the terminal, with an optional live QUnit UI.github.com · read 8 Oct 2026
Browser UI
The browser UI can filter by module or test, preserve filters in shareable URLs, rerun individual tests, and show assertion diffs.github.com · read 8 Oct 2026
Compatibility limits
QUnitX requires Node.js 22 or later or Deno 2 or later, and ships as ESM only.github.com · read 8 Oct 2026
Coverage
The README documents coverage with c8 for Node.js and Deno and identifies browser coverage as a limitation because bundling with esbuild loses source mapping.github.com · read 8 Oct 2026
Coverage limit
The QUnitX README says browser coverage has a source-map limitation because qunitx-cli bundles test files with esbuild.github.com · read 4 Oct 2026
Hooks
Nested modules support before, beforeEach, afterEach, and after hooks, with outer-first setup and inner-first teardown ordering.github.com · read 8 Oct 2026
Install
The README gives npm and Deno installation commands and requires Node.js 22 or later or Deno 2 or later.github.com · read 4 Oct 2026
Integrations
The README documents installation through npm and Deno, and describes a JSR package published from CI with provenance.github.com · read 8 Oct 2026
License
The repository identifies its license as MIT.github.com · read 8 Oct 2026
Maker
The repository identifies izelnakri as its owner and describes QUnitX as a project by its maker; it provides no headquarters or founding date in the opened pages.github.com · read 4 Oct 2026
No configuration
The README says QUnitX requires no config or setup files, runs TypeScript as-is, and has zero runtime dependencies.github.com · read 8 Oct 2026
Purpose
QUnitX lets teams write one JavaScript or TypeScript test file and run it unchanged with Node.js, Deno, or in a browser.github.com · read 8 Oct 2026
Requirements
The CLI requires Node.js 24 or later or Deno 2.7 or later; its default Chromium browser mode also requires system Chrome or CHROME_BIN when using the standalone binary.github.com · read 4 Oct 2026
Runners
Node.js and Deno use their native test runners, while the browser path re-exports QUnit.github.com · read 8 Oct 2026
Runtime difference
The README notes that Node runs todo test bodies while ignoring their failures, whereas Deno maps todo and skip to ignored tests whose bodies do not run.github.com · read 8 Oct 2026
Setup
The project says it needs no configuration, setup files, transform pipeline, injected globals, or runtime dependencies.github.com · read 4 Oct 2026

Alternatives to QUnitX

Every alternative, ranked