2017-08-24 15:21:36 +02:00
|
|
|
<a id="top"></a>
|
2020-10-21 19:59:59 +02:00
|
|
|
![Catch2 logo](data/artwork/catch2-logo-small.png)
|
2013-03-21 20:21:41 +01:00
|
|
|
|
2017-11-07 19:50:55 +01:00
|
|
|
[![Github Releases](https://img.shields.io/github/release/catchorg/catch2.svg)](https://github.com/catchorg/catch2/releases)
|
2021-08-07 16:49:27 +02:00
|
|
|
[![Linux build status](https://github.com/catchorg/Catch2/actions/workflows/linux-simple-builds.yml/badge.svg)](https://github.com/catchorg/Catch2/actions/workflows/linux-simple-builds.yml)
|
|
|
|
[![Linux build status](https://github.com/catchorg/Catch2/actions/workflows/linux-other-builds.yml/badge.svg)](https://github.com/catchorg/Catch2/actions/workflows/linux-other-builds.yml)
|
|
|
|
[![MacOS build status](https://github.com/catchorg/Catch2/actions/workflows/mac-builds.yml/badge.svg)](https://github.com/catchorg/Catch2/actions/workflows/mac-builds.yml)
|
2020-10-21 19:59:59 +02:00
|
|
|
[![Build Status](https://ci.appveyor.com/api/projects/status/github/catchorg/Catch2?svg=true&branch=devel)](https://ci.appveyor.com/project/catchorg/catch2)
|
|
|
|
[![Code Coverage](https://codecov.io/gh/catchorg/Catch2/branch/devel/graph/badge.svg)](https://codecov.io/gh/catchorg/Catch2)
|
2020-10-10 15:13:24 +02:00
|
|
|
[![Try online](https://img.shields.io/badge/try-online-blue.svg)](https://godbolt.org/z/9x9qoM)
|
2018-07-01 20:48:21 +02:00
|
|
|
[![Join the chat in Discord: https://discord.gg/4CWS9zD](https://img.shields.io/badge/Discord-Chat!-brightgreen.svg)](https://discord.gg/4CWS9zD)
|
|
|
|
|
2013-08-05 14:50:14 +02:00
|
|
|
|
2021-11-16 16:22:46 +01:00
|
|
|
## What's the Catch2?
|
|
|
|
|
|
|
|
Catch2 is mainly a unit testing framework for C++, but it also
|
|
|
|
provides basic micro-benchmarking features, and simple BDD macros.
|
|
|
|
|
|
|
|
Catch2's main advantage is that using it is both simple and natural.
|
|
|
|
Tests autoregister themselves and do not have to be named with valid
|
|
|
|
identifiers, assertions look like normal C++ code, and sections provide
|
|
|
|
a nice way to share set-up and tear-down code in tests.
|
|
|
|
|
|
|
|
|
2020-10-30 15:31:41 +01:00
|
|
|
## Catch2 v3 is being developed!
|
2017-11-03 14:18:26 +01:00
|
|
|
|
2020-10-30 15:31:41 +01:00
|
|
|
You are on the `devel` branch, where the next major version, v3, of
|
|
|
|
Catch2 is being developed. As it is a significant rework, you will
|
|
|
|
find that parts of this documentation are likely still stuck on v2.
|
2017-11-03 14:18:26 +01:00
|
|
|
|
2020-10-30 15:31:41 +01:00
|
|
|
For stable (and documentation-matching) version of Catch2, [go to the
|
|
|
|
`v2.x` branch](https://github.com/catchorg/Catch2/tree/v2.x).
|
|
|
|
|
2020-10-31 09:08:58 +01:00
|
|
|
For migrating from the v2 releases to v3, you should look at [our
|
|
|
|
documentation](docs/migrate-v2-to-v3.md#top). It provides a simple
|
|
|
|
guidelines on getting started, and collects most common migration
|
|
|
|
problems.
|
|
|
|
|
2020-10-30 15:31:41 +01:00
|
|
|
|
2013-06-03 21:03:39 +02:00
|
|
|
## How to use it
|
|
|
|
This documentation comprises these three parts:
|
|
|
|
|
2017-08-24 15:33:38 +02:00
|
|
|
* [Why do we need yet another C++ Test Framework?](docs/why-catch.md#top)
|
|
|
|
* [Tutorial](docs/tutorial.md#top) - getting started
|
|
|
|
* [Reference section](docs/Readme.md#top) - all the details
|
2013-06-03 21:03:39 +02:00
|
|
|
|
2020-10-30 15:31:41 +01:00
|
|
|
|
2013-06-03 21:03:39 +02:00
|
|
|
## More
|
2017-11-03 14:05:09 +01:00
|
|
|
* Issues and bugs can be raised on the [Issue tracker on GitHub](https://github.com/catchorg/Catch2/issues)
|
2021-11-16 14:36:29 +01:00
|
|
|
* For discussion or questions please use [our Discord](https://discord.gg/4CWS9zD)
|
2021-11-16 16:22:46 +01:00
|
|
|
* See who else is using Catch2 in [Open Source Software](docs/opensource-users.md#top)
|
|
|
|
or [commercially](docs/commercial-users.md#top).
|