aboutsummaryrefslogtreecommitdiff
path: root/development/Catch/README
blob: b32660bb25c895428406d9033e5a0f4c652766ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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.

Key features:

 - Really easy to get started. Just download catch.hpp,
   #include it and you're away.
 - No external dependencies. As long as you can compile
   C++98 and have a C++ standard library available.
 - Write test cases as, self-registering, functions or
   methods.
 - Divide test cases into sections, each of which is run
   in isolation (eliminates the need for fixtures!)
 - Use BDD-style Given-When-Then sections as well as
   traditional unit test cases.
 - Only one core assertion macro for comparisons.
   Standard C/C++ operators are used for the comparison -
   yet the full expression is decomposed and lhs and rhs
   values are logged.

Note: To enable Catch's self-tests, export SELFTEST=yes in the
script's environment. This doesn't affect the binary package that gets
built.