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
Neal Coombes 442ad5eb0f Performance improvement in AssertionInfo.
By using char const * instead of std::string we avoid significant
copying per assertion.  In a simple loop with 10000000 CHECKS on
my system, this reduces the run time from 9.8s to 5.8s.

This change is at the expense of no longer capturing the second arg,
which no currently existing test notices.
2017-06-21 13:42:04 -05:00
.github First draft of issue and PR templates. 2017-01-28 11:42:11 +01:00
contrib Cosmetic fixes (whitespace and spelling) 2017-05-27 14:42:54 +02:00
docs v1.9.5 2017-06-15 13:08:26 +02:00
include Performance improvement in AssertionInfo. 2017-06-21 13:42:04 -05:00
projects Cosmetic fixes (whitespace and spelling) 2017-05-27 14:42:54 +02:00
scripts Minor fixup in updateVcpkgPackage.py 2017-05-16 14:34:55 +02:00
single_include v1.9.5 2017-06-15 13:08:26 +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 Fix .travis.yml syntax 2017-04-20 22:54:17 +02:00
CMakeLists.txt Add test for #914 (stringify truthy exprs in standard way) 2017-05-27 14:42:05 +02:00
LICENSE.txt Renamed licence file, license should now be detected by github 2017-03-20 08:59:25 +01:00
README.md v1.9.5 2017-06-15 13:08:26 +02:00
appveyor.yml Added Win32 UNICODE wmain support (#903) 2017-05-11 13:00:03 +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