CheckOps home

Tools directory

N

CheckOps

node-tap

node-tap (the `tap` package from tapjs) is a full-featured Node.js test framework built on the Test Anything Protocol, with TypeScript support, built-in coverage, snapshots, mocking and a plugin system.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

node-tap is one of the oldest test frameworks in the Node.js ecosystem, developed by Isaac Z. Schlueter (creator of npm). It is built around the Test Anything Protocol (TAP), a simple text format for test results that many tools can consume. Version 18 rebuilt the framework as a plugin-based system in the tapjs monorepo, and the latest release at the time of writing was tap@21.8.0 on 3 September 2026.

The tap runner runs each test file in its own process and includes code coverage by default, failing the run if coverage drops below the configured threshold (100% by default in recent versions, configurable). It supports TypeScript out of the box, snapshot testing (t.matchSnapshot), fixtures, mocking of modules (t.mockImport/t.mockRequire), spies via plugins, and timeouts. Licensing is per package in the monorepo (BlueOak-1.0.0 for the core packages; see the repository).

The source code is at tapjs/tapjs on GitHub under the BlueOak-1.0.0 (per package) licence, with about 2,400 stars; the most recent commit was on 5 November 2026.

Features

  1. TAP output: Standard Test Anything Protocol results consumable by many tools.
  2. Coverage built in: Coverage is collected and enforced by default.
  3. Process isolation: Each test file runs in its own process.
  4. Plugins: Snapshots, fixtures, module mocking, spies and more as plugins.

Pros

  1. Free to use: Open source under the BlueOak-1.0.0 (per package) licence, so the core tool costs nothing to use.
  2. Actively maintained: The repository had commits as recent as 5 November 2026.

Cons

  1. Strict coverage default: Default coverage enforcement surprises new users until configured.
  2. Smaller mindshare: Fewer tutorials than Jest or Vitest.
npm install --save-dev tap
import t from "tap";
import { parse } from "../src/parse.js";

t.test("parses numbers", async (t) => {
  t.equal(parse("42"), 42);
  t.matchSnapshot(parse("[1,2]"), "array output");
});
npx tap

Resources:

Pricing

node-tap is free and open source under the BlueOak-1.0.0 (per package) licence.

  1. Node.js projects that value TAP output and enforced coverage.
  2. Teams wanting a batteries-included, plugin-based framework.

Conclusion

node-tap is a mature, opinionated Node.js test framework with coverage, TAP output and plugins built in, best for teams that want strict quality gates by default.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with node-tap side by side.