Skip to content

TAP

Awesome TAP Awesome

Useful resources for the Test Anything Protocol

TAP is a simple text-based interface between testing modules in a test harness.

The list is very JavaScript focused right now. That's just because I'm only familiar with TAP stuff in the JS world. Contributions welcome for any language.

Reporters

JavaScript

Producers

Things that produce TAP output.

JavaScript

  • AVA - Futuristic test runner ($ ava --tap).
  • tap - TAP test framework for Node.js.
  • tape - TAP-producing test harness for Node.js and browsers.
  • ESLint - Pluggable JavaScript linter ($ eslint --format=tap).
  • Mocha - Feature-rich test framework for Node.js and browsers ($ mocha reporter=tap).
  • qunit-tap - TAP output for QUnit.
  • jasmine-reporters - TAP output for Jasmine.
  • karma-tap-reporter - TAP output for Karma.
  • mos - Markdown file generator and tester ($ mos test --tap).
  • zora - TAP-producing test runner that works with ES2015 without Babel.
  • node:test - Minimal TAP test runner included with Node.js.

Swift

  • TAP - A Swift package for the Test Anything Protocol (v13).

Fish

  • Fishtape - TAP producer and test harness for fish.

Bash

  • bats - Bash Automated Testing System.
  • ShellSpec - A full-featured BDD unit testing framework for POSIX shells.

More…

Consumers

Things that consume TAP output.

JavaScript

More…

Tools

JavaScript

  • tap-dev-tool - Prettify TAP in the browser console.
  • tap-merge - Merge multiple TAP streams.
  • smokestack - Run TAP tests in a browser and write the output to stdout.
  • chutney - Run TAP tests at Sauce Labs. Lightweight smokestack alternative.

Python

  • tappy - Tools for working with TAP.

Articles

Tutorials

  • test-anything - Learn to test anything with TAP through an interactive workshop.

Documentation

Community