A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
Go to file
Matthew Parnell 7294bd15d7 Add STATIC_REQUIRE for compile time assertions
issue #1356

A constant expression can be checked at compile time; if the user wishes
to check something they known can  be checked at compile time, then they
can now STATIC_REQUIRE.

By  default  this  will  use  REQUIRE  and  be  at  runtime,  such  that
other  assertions   can  be   run.  It  can   be  enabled   by  defining
CATCH_USE_STATIC_REQUIRE

This uses static_assert; as some compilers cannot handle the modern:
    static_assert(expr)
and require the older form with a message:
    static_assert(expr, desc)
the expression has been included as  the message, rather than leaving it
as an empty string, which can be a warning on some linters.
2018-08-14 11:29:45 +01:00
.github Added "How to test changes in PR" section to documentation 2017-06-22 18:56:10 +02:00
CMake Separate Catch2Config from targets 2018-06-24 12:32:22 +02:00
artwork Tweaked logo 2017-11-07 11:41:49 +00:00
contrib Properly unset tags variable. 2018-07-10 12:48:14 +02:00
docs v2.3.0 2018-07-23 10:12:15 +02:00
examples Add an example on providing streams with `CATCH_CONFIG_NOSTDOUT` 2018-07-08 13:38:42 +02:00
include Add STATIC_REQUIRE for compile time assertions 2018-08-14 11:29:45 +01:00
misc Fixup various spelling errors (#1208) 2018-03-07 10:08:35 +01:00
projects Add float/int literal for Approx 2018-07-15 17:03:12 +02:00
scripts Changed approval tests path to match changes in CMakeLists.txt 2018-06-25 18:38:08 +01:00
single_include/catch2 v2.3.0 2018-07-23 10:12:15 +02:00
test_package v2.3.0 2018-07-23 10:12:15 +02:00
third_party Bring in Clara v1.1.4 2018-03-09 10:37:56 +01:00
.gitattributes Update gitattributes 2018-07-23 10:15:52 +02:00
.gitignore Exclude benchmark dir 2018-01-05 14:39:59 +00:00
.travis.yml Integrate CMake with `<catch2/catch.hpp>` include paths 2018-06-24 12:32:22 +02:00
CMakeLists.txt v2.3.0 2018-07-23 10:12:15 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-08-17 07:45:12 +01:00
LICENSE.txt Renamed licence file, license should now be detected by github 2017-03-20 08:59:25 +01:00
README.md v2.3.0 2018-07-23 10:12:15 +02:00
appveyor.yml Disable PIP's version check on AppVeyor 2018-03-22 15:19:09 +01:00
codecov.yml Fix broken YAML in a way that codecov understands 2018-05-10 14:49:40 +02:00
conanfile.py v2.3.0 2018-07-23 10:12:15 +02:00

README.md

catch logo

Github Releases Build Status Build status codecov Try online Join the chat in Discord: https://discord.gg/4CWS9zD

The latest version of the single header can be downloaded directly using this link

Catch2 is released!

If you've been using an earlier version of Catch, please see the Breaking Changes section of the release notes before moving to Catch2. You might also like to read this blog post for more details.

What's the Catch?

Catch2 stands for C++ Automated Test Cases in a Header and is a multi-paradigm test framework for C++. which also supports Objective-C (and maybe C). It is primarily distributed as a single header file, although certain extensions may require additional headers.

How to use it

This documentation comprises these three parts:

More