EVERYTHING XIAOMI
Get listed

Tape

Tape is a free, MIT-licensed test harness for Node.js and web browsers.

Place
#17 of 23
Score
5.7
Tape's website

What Tape is

Tape is a free, MIT-licensed test harness for Node.js and web browsers. It runs tests through Node.js or the tape command-line binary, which supports file globbing, and emits TAP version 13 output with test names, assertion results, and a summary. Its assertion API covers truthiness, equality, deep equality, exceptions, and pattern matching. Test callbacks can return promises, and explicit planning and timeout methods support asynchronous tests. Tape keeps its core minimal, with companion modules such as tap-spec, tap-json, and tap-junit available for TAP formatting and reporting. By default, uncaught exceptions in tests are not intercepted and cause Tape to crash; tape-catch is suggested for reporting them as TAP errors. The README gives npm install tape --save-dev for installation. The --no-only option makes a run fail when a .only test remains. The repository security page reports no published security advisories and directs vulnerability reports to @ljharb or Tidelift.

Good

  • Runs in Node.js and web browsers
  • TAP version 13 output
  • Promise-based asynchronous tests
  • Multiple assertion types
  • MIT licensed and open source

Watch out

  • Uncaught exceptions crash by default
  • Additional features rely on modules
  • No parallel execution

Who it suits

Tape suits JavaScript developers writing tests for Node.js or browser code who want TAP output. It is useful when a small core and separate reporting modules fit the project.

Verdict

Tape provides a focused test runner with standard TAP output and broad basic assertions. Teams should account for its minimal core and explicitly handle uncaught exceptions.

The facts

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

What it does

Assertions
Its assertion methods include truthy, equality, deep equality, exception, and pattern-matching assertions.checked 9 Oct 2026
Async tests
Tape implicitly awaits a test callback that returns a Promise and fails the test if that Promise rejects.checked 9 Oct 2026
CI option
The `--no-only` option makes a test run fail if a `.only` test is present.checked 9 Oct 2026
Extensibility
Tape describes its core as minimal and says additional features are usually added through other modules.checked 4 Oct 2026
Install
The README recommends installing Tape with `npm install tape --save-dev`.checked 9 Oct 2026
Installation
The README gives `npm install tape --save-dev` as the installation command.checked 4 Oct 2026
Integrations
The README lists companion modules for TAP reporters, including tap-spec, tap-dot, faucet, tap-json, and tap-xunit.checked 9 Oct 2026
License
The repository identifies Tape's license as MIT.checked 9 Oct 2026
Minimal core
The README describes Tape as having a minimal core and says additional features are usually added with other modules.checked 9 Oct 2026
Notable limitation
By default, uncaught exceptions in tests are not intercepted and cause Tape to crash.checked 4 Oct 2026
Purpose
Tape is a TAP-producing test harness for Node.js and browsers.checked 9 Oct 2026
Security
The repository links a security policy, but the opened policy link did not show separate security or compliance claims.checked 9 Oct 2026
Security advisories
The repository security page states that there are no published security advisories.checked 4 Oct 2026
Security reporting
The repository security page directs vulnerability reports to maintainer @ljharb or Tidelift.checked 4 Oct 2026
Test execution
Tests execute serially, and the command-line runner can select test files with glob patterns.checked 9 Oct 2026
Test output
Tape writes TAP output by default and can provide an object-mode output stream.checked 9 Oct 2026
Unhandled exceptions
By default, uncaught exceptions in tests are not intercepted and cause Tape to crash; the README suggests tape-catch to report them as TAP errors.checked 9 Oct 2026

Alternatives to Tape

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