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ý 3b98a0166f Various small string usage performance improvements.
* Empty strings are now direct constructed as `std::string()`, not as empty string literals.
* `startsWith` and `endsWith` no longer construct new a string. This should be an improvement
for libstdc++ when using older standards, as it doesn't use SSO but COW and thus even short
strings are expensive to first create.
* Various places now use char literal instead of string literals containing single char.
** `startsWith` and `endsWith` now also have overload that takes single char.

Generally the performance improvements under VS2015 are small, as going from short string
to char is mostly meaningless because of SSO (Catch doesn't push string handling that hard)
and previous commit removed most string handling if tests pass, which is the expect case.
2017-01-15 10:05:01 +01:00
docs Added note on escaping names on command line to docs 2017-01-11 17:14:28 +00:00
include Various small string usage performance improvements. 2017-01-15 10:05:01 +01:00
projects Added benchmark with Mickey Rose's improvements. 2017-01-14 22:51:44 +01:00
scripts First commit of benchmarks for Catch runtime perf. 2017-01-14 21:55:37 +01:00
single_include v1.6.0 build - including release notes 2017-01-11 16:44:36 +00:00
.gitattributes Git Attributes, with control for line-endings 2013-10-18 07:53:05 +01:00
.gitignore Removed all manually maintained project files in favour of instructions on how to use CMake to generate them 2017-01-09 17:38:42 +00:00
.travis.yml Fixed Travis and CMake after moving CMakeLists.txt 2017-01-06 16:19:20 +00:00
CMakeLists.txt First commit of benchmarks for Catch runtime perf. 2017-01-14 21:55:37 +01:00
LICENSE_1_0.txt Fixed crlf issue 2013-11-07 13:05:29 +01:00
README.md v1.6.0 build - including release notes 2017-01-11 16:44:36 +00:00
catch-logo-small.png Added logo to readme 2013-03-21 19:12:21 +00:00
catch-logo-tiny.png Added single char version of logo 2017-01-13 18:49:49 +00:00

README.md

catch logo

v1.6.0

Build status (on Travis CI) 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