Catch2
Metrics as of , from the GitHub or GitLab API of each repository. Refreshed monthly.
What Catch2 is
Catch2 is a unit testing framework for C++ that also offers basic micro-benchmarking and BDD-style macros. Test names can be free-form strings rather than valid identifiers. Assertions are written as ordinary C++ boolean expressions inside macros such as REQUIRE. Sections within a test case share set-up and tear-down code. Benchmarks use a BENCHMARK macro and run only when selected with the [!benchmark] tag. Since version 3, Catch2 is a regular library with multiple headers and a separately compiled implementation instead of a single header. The earlier v2 line remains on its own branch.
Written from the project's README, read .
- Category
- Unit testing and test runners
- License
- BSL-1.0
- Language
- C++
- Changelog
- Releases on GitHub
Repository metrics
Status
activeLast commit within 90 days of the fetch date.Computed from the last commit date and the archive flag on the fetch date. See the status rules.
Alternatives
Listed unit testing and test runners tools, same primary language first, then by GitHub stars. Each line gives one fact from the tool's documentation where it differs from Catch2's, with its source. See also Catch2 alternatives.
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
Comparisons
Questions
Is Catch2 open source?
Yes. Catch2 is released under BSL-1.0, an OSI-approved license, as reported by the GitHub API on 2026-09-22.
Is Catch2 maintained?
On 2026-09-22, the last commit to the default branch was on 2026-09-14, so the listed status is active. Rule: Last commit within 90 days of the fetch date.
How many GitHub stars does Catch2 have?
21,489 stars on 2026-09-22, from the GitHub API. The number is refreshed at each monthly update.
What language is Catch2 written in?
The repository's primary language, as reported by the GitHub API, is C++.
Sources
- GitHub REST API: repository, read
- GitHub REST API: commits, read
- GitHub REST API: latest release, read
- GitHub REST API: contributors, read
- README, read