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
Martin Hořeňovský da0edcbe25 Collect startup exceptions instead of throwing them
Previously, some errors in Catch configuration would cause exceptions to
be thrown before main was even entered. This leads to call to
`std::terminate`, which is not a particularly nice way of ending the
binary.

Now these exceptions are registered with a global collector and used
once Catch enters main. They can also be optionally ignored, if user
supplies his own main and opts not to check them (or ignored them
intentionally).

Closes #921
2017-06-04 21:39:27 +02:00
.github First draft of issue and PR templates. 2017-01-28 11:42:11 +01:00
contrib cmake script to generate ctest definitions from catch tests: fix for test case body bracket 2017-04-24 13:33:04 +02:00
docs Collect startup exceptions instead of throwing them 2017-06-04 21:39:27 +02:00
include Collect startup exceptions instead of throwing them 2017-06-04 21:39:27 +02:00
projects Move back to static StringMaker<T>::convert 2017-05-21 23:40:05 +02:00
scripts Generate single header even if output dir does not exist 2017-06-04 21:28:08 +02:00
.gitattributes Git Attributes, with control for line-endings 2013-10-18 07:53:05 +01:00
.gitignore Ignore .vs folder 2017-02-21 08:52:08 +00:00
.travis.yml Removed gcc 4.7 from travis 2017-04-25 21:27:29 +02:00
CMakeLists.txt Collect startup exceptions instead of throwing them 2017-06-04 21:39:27 +02:00
LICENSE.txt Renamed licence file, license should now be detected by github 2017-03-20 08:59:25 +01:00
README.md Updated version number for v2 development and removed single include (for now). 2017-04-25 14:43:13 +00:00
appveyor.yml Removed VS 2013 from AppVeyor 2017-04-25 21:28:12 +02:00
catch-hand-icon.png Updated artwork 2017-03-01 16:47:04 +00:00
catch-icon-tiny.png Updated artwork 2017-03-01 16:47:04 +00:00
catch-logo-small.png Resized main logo again 2017-03-01 17:00:33 +00:00

README.md

catch logo

Github Releases Build Status Build status

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

What's the Catch?

Catch stands for C++ Automated Test Cases in Headers and is a multi-paradigm automated test framework for C++ and Objective-C (and, maybe, C). It is implemented entirely in a set of header files, but is packaged up as a single header for extra convenience.

How to use it

This documentation comprises these three parts:

More