{"id":13429033,"url":"https://github.com/sindresorhus/awesome-tap","last_synced_at":"2025-09-27T17:31:55.276Z","repository":{"id":49982025,"uuid":"48281676","full_name":"sindresorhus/awesome-tap","owner":"sindresorhus","description":"Useful resources for the Test Anything Protocol","archived":false,"fork":false,"pushed_at":"2023-01-04T19:10:05.000Z","size":25,"stargazers_count":630,"open_issues_count":0,"forks_count":36,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-10-29T18:08:34.327Z","etag":null,"topics":["awesome","awesome-list","list","tap","test-anything-protocol","test-runner"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sindresorhus.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"license","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"sindresorhus","open_collective":"sindresorhus","custom":"https://sindresorhus.com/donate"}},"created_at":"2015-12-19T12:44:10.000Z","updated_at":"2024-10-24T01:54:49.000Z","dependencies_parsed_at":"2023-02-02T20:00:20.713Z","dependency_job_id":null,"html_url":"https://github.com/sindresorhus/awesome-tap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sindresorhus%2Fawesome-tap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sindresorhus%2Fawesome-tap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sindresorhus%2Fawesome-tap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sindresorhus%2Fawesome-tap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sindresorhus","download_url":"https://codeload.github.com/sindresorhus/awesome-tap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234450728,"owners_count":18834569,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","awesome-list","list","tap","test-anything-protocol","test-runner"],"created_at":"2024-07-31T02:00:19.071Z","updated_at":"2025-09-27T17:31:49.979Z","avatar_url":"https://github.com/sindresorhus.png","language":null,"funding_links":["https://github.com/sponsors/sindresorhus","https://opencollective.com/sindresorhus","https://sindresorhus.com/donate"],"categories":["Testing","Miscellaneous","Live Site:   [searchAwesome](https://search-awesome.vercel.app/)","Technical","miscellaneous","Others","Uncategorized","Programming","其他","awesome-list","Other Lists","杂项","In Russian","Themed Directories"],"sub_categories":["awesome-*","Uncategorized","Misc","TeX Lists","Introduction","Updated in the last year"],"readme":"# Awesome TAP [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [\u003cimg src=\"https://testanything.org/images/tap.png\" width=\"67\" align=\"right\"\u003e](https://testanything.org)\n\n\u003e Useful resources for the [Test Anything Protocol](https://testanything.org)\n\nTAP is a simple text-based interface between testing modules in a test harness.\n\n*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.*\n\n## Contents\n\n- [Reporters](#reporters)\n- [Producers](#producers)\n- [Consumers](#consumers)\n- [Tools](#tools)\n- [Articles](#articles)\n- [Tutorials](#tutorials)\n- [Documentation](#documentation)\n- [Community](#community)\n\n## Reporters\n\n### JavaScript\n\n- [tap-dot](https://github.com/scottcorgan/tap-dot) - Dotted output.\n- [tap-spec](https://github.com/scottcorgan/tap-spec) - Mocha-like spec reporter.\n- [tap-nyan](https://github.com/calvinmetcalf/tap-nyan) - Nyan cat.\n- [tap-min](https://github.com/derhuerst/tap-min) - Minimal output.\n- [tap-difflet](https://github.com/namuol/tap-difflet) - Minimal output with diffing.\n- [tap-diff](https://github.com/axross/tap-diff) - Human-friendly output with diffing.\n- [tap-simple](https://github.com/joeybaker/tap-simple) - Simple output.\n- [faucet](https://github.com/substack/faucet) - Human-readable summarizer.\n- [tap-mocha-reporter](https://github.com/isaacs/tap-mocha-reporter) - Use any of the [Mocha reporters](https://github.com/isaacs/tap-mocha-reporter/tree/master/lib/reporters).\n- [tap-summary](https://github.com/zoubin/tap-summary) - Summarized output.\n- [tap-pessimist](https://github.com/clux/tap-pessimist) - Only shows failed tests.\n- [tap-prettify](https://github.com/toolness/tap-prettify) - Nice readable output with diffing.\n- [tap-colorize](https://github.com/substack/tap-colorize) - Colorize the output while preserving machine-readability.\n- [tap-bail](https://github.com/juliangruber/tap-bail) - Bail out when the first test fails.\n- [tap-notify](https://github.com/axross/tap-notify) - Notifier for macOS, Linux and Windows.\n- [tap-json](https://github.com/gummesson/tap-json) - JSON output.\n- [ava-tap-json](https://github.com/yovasx2/ava-tap-json) - JSON output with AVA compatibility.\n- [tap-xunit](https://github.com/aghassemi/tap-xunit) - xUnit output.\n- [tap-teamcity](https://github.com/smockle/tap-teamcity) - Output for TeamCity.\n\n## Producers\n\nThings that produce TAP output.\n\n### JavaScript\n\n- [AVA](https://github.com/sindresorhus/ava) - Futuristic test runner (`$ ava --tap`).\n- [tap](https://github.com/isaacs/node-tap) - TAP test framework for Node.js.\n- [tape](https://github.com/substack/tape) - TAP-producing test harness for Node.js and browsers.\n- [ESLint](https://eslint.org/docs/user-guide/formatters/#tap) - Pluggable JavaScript linter (`$ eslint --format=tap`).\n- [Mocha](https://mochajs.org) - Feature-rich test framework for Node.js and browsers (`$ mocha reporter=tap`).\n- [qunit-tap](https://github.com/twada/qunit-tap) - TAP output for QUnit.\n- [jasmine-reporters](https://github.com/larrymyers/jasmine-reporters) - TAP output for Jasmine.\n- [karma-tap-reporter](https://github.com/fumiakiy/karma-tap-reporter) - TAP output for Karma.\n- [mos](https://github.com/zkochan/mos) - Markdown file generator and tester (`$ mos test --tap`).\n- [zora](https://github.com/lorenzofox3/zora) - TAP-producing test runner that works with ES2015 without Babel.\n- [node:test](https://nodejs.org/api/test.html) - Minimal TAP test runner included with Node.js.\n\n### Swift\n\n- [TAP](https://github.com/swiftdocorg/tap) - A Swift package for the Test Anything Protocol (v13).\n\n### Fish\n\n- [Fishtape](https://github.com/fisherman/fishtape) - TAP producer and test harness for fish.\n\n### Bash\n\n- [bats](https://github.com/sstephenson/bats) - Bash Automated Testing System.\n- [ShellSpec](https://github.com/shellspec/shellspec) - A full-featured BDD unit testing framework for POSIX shells.\n\n[More…](https://testanything.org/producers.html)\n\n## Consumers\n\nThings that consume TAP output.\n\n### JavaScript\n\n- [tap-parser](https://github.com/substack/tap-parser) - TAP parser.\n- [tap-out](https://github.com/scottcorgan/tap-out) - TAP parser.\n- [yamlish](https://github.com/isaacs/yamlish) - YAML-block parser.\n\n[More…](https://testanything.org/consumers.html)\n\n## Tools\n\n### JavaScript\n\n- [tap-dev-tool](https://github.com/Jam3/tap-dev-tool) - Prettify TAP in the browser console.\n- [tap-merge](https://github.com/anko/tap-merge) - Merge multiple TAP streams.\n- [smokestack](https://github.com/hughsk/smokestack) - Run TAP tests in a browser and write the output to `stdout`.\n- [chutney](https://github.com/derhuerst/chutney) - Run TAP tests at Sauce Labs. Lightweight [smokestack](https://github.com/hughsk/smokestack) alternative.\n\n### Python\n\n- [tappy](https://github.com/mblayman/tappy) - Tools for working with TAP.\n\n## Articles\n\n- [Understand the Test Anything Protocol](https://www.effectiveperlprogramming.com/2011/05/understand-the-test-anything-protocol/)\n\n## Tutorials\n\n- [test-anything](https://github.com/finnp/test-anything) - Learn to test anything with TAP through an interactive workshop.\n\n## Documentation\n\n- [Specification](https://testanything.org/tap-version-13-specification.html)\n- [Wikipedia](https://en.wikipedia.org/wiki/Test_Anything_Protocol)\n\n## Community\n\n- [Discuss](https://github.com/TestAnything/Specification/issues)\n- [Reddit](https://www.reddit.com/r/testanythingprotocol)\n- [Stack Overflow](https://stackoverflow.com/questions/tagged/tap)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsindresorhus%2Fawesome-tap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsindresorhus%2Fawesome-tap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsindresorhus%2Fawesome-tap/lists"}