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
Konstantin Baumann d4fa900b84 JunitReporter reimplemented using the new IStreamingReporter interface
* created new AccumulatingReporterBase class for accumulating test
results hierarchically and store them for a single processResults() call
after all tests have been executed; sections are currently not handled,
since their usage are optional and/or could be nested arbitrarily, which
would result in overly complex code, IMHO
* JunitReporter reimplemented on top of this new
AccumulatingReporterBase class
* added support for tracking time spend in each test case, each test
group, and overall tests to the base "*Stats" classes; this enables each
reporter (derived from IStreamingReporter interface) to report the
timings; for now only the JunitReporter takes advantage of that.
2013-07-23 14:10:37 +02:00
docs Fixed returns in docs ref 2013-06-14 08:41:59 +01:00
include JunitReporter reimplemented using the new IStreamingReporter interface 2013-07-23 14:10:37 +02:00
projects Fixed iTChRunner 2013-06-12 19:05:21 +01:00
scripts Fixed script for new readme 2013-06-07 21:15:25 +01:00
single_include Fixed script for new readme 2013-06-07 21:15:25 +01:00
.gitignore Fixed iTChRunner 2013-06-12 19:05:21 +01:00
catch-logo-small.png Added logo to readme 2013-03-21 19:12:21 +00:00
LICENSE_1_0.txt First commit for GitHub 2010-11-09 23:24:00 +00:00
README.md Doc updates 2013-06-07 21:31:28 +01:00

catch logo

v0.9 build 39 (integration branch)

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:

What state is Catch in - can I use it now?

For now Catch is still classed as "in developer preview". However it has already been widely used for over two years. It has proven fairly stable and is in use in some demanding projects. Think of it in the same way that Google uses the term "beta". At time of writing I'm working towards locking down the public facing interfaces so I can finally give it a 1.0 designation.

More