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
Phil Nash 56e1075613 Introduced ReusableStringStream and removed all uses of std::ostringstream from the main path
ReusableStringStream holds a std::ostringstream internally, but only exposes the ostream interface.
It caches a pool of ostringstreams in a vector which is currently global, but will be made thread-local.

Altogether this should enable both runtime and compile-time benefits. although more work is needed to realise the compile time opportunities.
2017-11-07 18:01:10 +00:00
.github Added "How to test changes in PR" section to documentation 2017-06-26 16:54:14 +01:00
artwork Tweaked logo 2017-11-07 11:41:49 +00:00
contrib added PARSE_CATCH_TESTS_ADD_TO_CONFIGURE_DEPENDS option 2017-10-31 14:21:20 +01:00
docs Updated some Catch references to Catch2 2017-11-03 13:05:09 +00:00
include Introduced ReusableStringStream and removed all uses of std::ostringstream from the main path 2017-11-07 18:01:10 +00:00
projects Introduced ReusableStringStream and removed all uses of std::ostringstream from the main path 2017-11-07 18:01:10 +00:00
scripts Add OSX specific INFINITE macro parsing in approval tests 2017-11-01 08:46:49 +01:00
single_include v2.0.1 release 2017-11-03 12:01:52 +00:00
test_package v2.0.1 release 2017-11-03 12:01:52 +00:00
third_party embedded v1.0-develop.2 of Clara, which addresses / prefixed options, which should impact non-windows platforms 2017-10-21 09:16:38 +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 Improve travis.yml 2017-11-07 11:24:18 +01:00
appveyor.yml Improve travis.yml 2017-11-07 11:24:18 +01:00
catch.pc.in Fix-up pkg-config provided include path 2017-10-17 17:04:37 +02:00
CMakeLists.txt Moved a lot of stream related stuff out of the public headers and replaced more ostream dependencies with iosfwd 2017-11-07 15:55:09 +00:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-08-17 07:45:50 +01:00
conanfile.py v2.0.1 release 2017-11-03 12:01:52 +00:00
LICENSE.txt Renamed licence file, license should now be detected by github 2017-03-20 08:59:25 +01:00
README.md Added link to Catch2 blog post 2017-11-07 11:27:01 +00:00

catch logo

Github Releases Build Status Build status

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