Catch2 alternatives: 8 open-source unit testing and test runners tools
Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.
About Catch2
Catch2 is a listed unit testing and test runners tool: Unit testing framework for C++ with basic micro-benchmarking and BDD-style macros.
Order: Listed tools in the same category, with tools in the same primary language (GitHub API) first, then by GitHub stars. Each line gives one fact from the tool's own documentation where it differs from what Catch2's documentation states, with its source.
8 alternatives to Catch2
GoogleTest: Languages for writing tests: C++ (the 1.18.x branch requires C++17). source: README
doctest: Languages for writing tests: C++11 and later (tag 1.2.9 for C++98). source: README
Jest: Languages for writing tests: JavaScript; TypeScript via Babel or ts-jest. source: README
Testify: Languages for writing tests: Go. source: README
Mocha: Languages for writing tests: JavaScript; TypeScript through Node.js type stripping or a loader such as tsx. source: Docs: TypeScript
AVA: Languages for writing tests: JavaScript on Node.js; TypeScript definitions included. source: README
PHPUnit: Languages for writing tests: PHP. source: README
Vitest: Languages for writing tests: JavaScript and TypeScript, with JSX. source: README
Repository metrics
| Jest | 45,4631 | 2026-09-181v30.5.2 | 2026-09-181 | MIT | TypeScript | active |
|---|---|---|---|---|---|---|
| GoogleTest | 39,5721 | 2026-08-101v1.18.0 | 2026-09-171 | BSD-3-Clause | C++ | active |
| Testify | 26,2111 | 2026-08-191v1.12.1 | 2026-09-021 | MIT | Go | active |
| Mocha | 22,8971 | 2026-09-171v12.0.2 | 2026-09-191 | MIT | JavaScript | active |
| Catch2 | 21,4891 | 2026-08-251v3.16.0 | 2026-09-141 | BSL-1.0 | C++ | active |
| AVA | 20,8281 | 2026-05-171v8.0.1 | 2026-05-171 | MIT | JavaScript | slow |
| PHPUnit | 20,0521 | 2026-09-15113.3.4 | 2026-09-221 | BSD-3-Clause | PHP | active |
| Vitest | 17,1431 | 2026-09-151v5.0.1 | 2026-09-181 | MIT | TypeScript | active |
| doctest | 6,8681 | 2026-07-061v2.5.3 | 2026-03-271 | MIT | C++ | slow |
1 Fetched from the GitHub or GitLab API on . Hover a value for its own date.