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
Jayesh Badwaik b87caafd91 Remove explicit setting of CXX_STANDARD for SelfTest target
- The current setup tries to detect USE_CPP14/USE_CPP17 and sets the
    CXX_STANDARD property for the SelfTest target. This is not ideal, since
    CMAKE_CXX_STANDARD can be provided by the toolchain file or as command line
    option and should be used by the library internally correctly.  Hence, the
    whole set of the relevant lines from `projects/CMakeLists.txt` have been
    removed.

  - The above can also cause subtle issues where the user is expecting the tests
    to compile with C++17 after setting CMAKE_CXX_STANDARD and then getting
    results of compilation with C++11 as USE_CPP17 has not been set.

  - The current build matrix used the above code to run the tests. So, even
    though the it should not required anymore to build Catch2, it was still
    required to send correct options to build matrix. In that respect,
    .travis.yml has been modified to send correct options to the build command
    in the new setup.
2019-06-15 20:33:28 +02:00
.conan Fix typos identified by codespell. 2019-04-10 09:42:11 +02:00
.github Add a FUNDING file 2019-06-07 19:15:35 +02:00
CMake Fix typos identified by codespell. 2019-04-10 09:42:11 +02:00
artwork Tweaked logo 2017-11-07 11:41:49 +00:00
contrib ParseAndAddCatchTests: Ignore cmake object libraries 2019-04-14 19:10:15 +02:00
docs docs for TEMPLATE_LIST_TEST_CASE 2019-06-15 15:40:39 +02:00
examples Merge pull request #1336 from ax3l/topic-overrideVirtualRedundant 2019-04-18 14:10:24 +02:00
include Added null-ptr check in Colour::use() 2019-06-15 18:06:59 +02:00
misc Integrate tests for #1394 into our test suite 2019-01-18 15:14:17 +01:00
projects Remove explicit setting of CXX_STANDARD for SelfTest target 2019-06-15 20:33:28 +02:00
scripts Move the async-using parts of benchmarking into a .cpp file 2019-06-15 11:43:25 +02:00
single_include/catch2 v2.8.0 2019-05-26 22:47:00 +02:00
third_party Fix vendored dep because upstream is non-responsive 2019-04-10 20:17:25 +02:00
.gitattributes Update gitattributes 2018-07-23 10:15:52 +02:00
.gitignore Update Conan recipe 2018-11-19 15:27:47 +01:00
.travis.yml Remove explicit setting of CXX_STANDARD for SelfTest target 2019-06-15 20:33:28 +02:00
CMakeLists.txt v2.8.0 2019-05-26 22:47:00 +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.8.0 2019-05-26 22:47:00 +02:00
appveyor.yml No longer allow failures for VS2017 on AppVeyor 2018-08-29 13:39:24 +02:00
codecov.yml Fix broken YAML in a way that codecov understands 2018-05-10 14:49:40 +02:00
conanfile.py Have conan test-build the package in a separate subdirectory 2019-05-25 19:58:49 +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