Just some documentation.

This commit is contained in:
Nandan V 2022-10-05 03:50:40 +00:00 committed by GitHub
parent 97313f9033
commit 17c11e9601
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 42 additions and 1 deletions

View File

@ -15,6 +15,9 @@ Catch is different. Because it decomposes natural C-style conditional expression
Most of these macros come in two forms: Most of these macros come in two forms:
## Natural Expressions ## Natural Expressions
```cpp
#include <catch2/catch_test_macros.hpp>
```
The ```REQUIRE``` family of macros tests an expression and aborts the test case if it fails. The ```REQUIRE``` family of macros tests an expression and aborts the test case if it fails.
The ```CHECK``` family are equivalent but execution continues in the same test case even if the assertion fails. This is useful if you have a series of essentially orthogonal assertions and it is useful to see all the results rather than stopping at the first failure. The ```CHECK``` family are equivalent but execution continues in the same test case even if the assertion fails. This is useful if you have a series of essentially orthogonal assertions and it is useful to see all the results rather than stopping at the first failure.
@ -52,6 +55,9 @@ This expression is too complex because of the `||` operator. If you want to chec
### Floating point comparisons ### Floating point comparisons
```cpp
#include <catch2/catch_approx.hpp>
```
When comparing floating point numbers - especially if at least one of them has been computed - great care must be taken to allow for rounding errors and inexact representations. When comparing floating point numbers - especially if at least one of them has been computed - great care must be taken to allow for rounding errors and inexact representations.
@ -124,7 +130,9 @@ Expects that an exception of the _specified type_ is thrown during evaluation of
* **REQUIRE_THROWS_WITH(** _expression_, _string or string matcher_ **)** and * **REQUIRE_THROWS_WITH(** _expression_, _string or string matcher_ **)** and
* **CHECK_THROWS_WITH(** _expression_, _string or string matcher_ **)** * **CHECK_THROWS_WITH(** _expression_, _string or string matcher_ **)**
```cpp
#include <catch2/matchers/catch_matchers.hpp>
```
Expects that an exception is thrown that, when converted to a string, matches the _string_ or _string matcher_ provided (see next section for Matchers). Expects that an exception is thrown that, when converted to a string, matches the _string_ or _string matcher_ provided (see next section for Matchers).
e.g. e.g.
@ -196,6 +204,20 @@ TEST_CASE_METHOD((Fixture<int, int>), "foo", "[bar]") {
This solution is not always applicable, because it might require extra This solution is not always applicable, because it might require extra
changes on the Catch's side to work. changes on the Catch's side to work.
## Lambdas
Lambdas are a C++ language feature and can be freely used inside a `TEST_CASE` or a `SECTION`.
```cpp
#include <catch2/catch_test_macros.hpp>
TEST_CASE("Dumb") {
auto fnTest = [](const bool bPass) { CHECK(bPass); };
fnTest(true);
}
```
[godbolt](https://catch2.godbolt.org/z/ebdr9vKcj)
--- ---
[Home](Readme.md#top) [Home](Readme.md#top)

View File

@ -45,6 +45,9 @@ User code that cannot be executed repeatedly will lead to bogus results or
crashes. crashes.
## Benchmark specification ## Benchmark specification
```cpp
#include <catch2/benchmark/catch_benchmark.hpp>
```
Benchmarks can be specified anywhere inside a Catch test case. Benchmarks can be specified anywhere inside a Catch test case.
There is a simple and a slightly more advanced version of the `BENCHMARK` macro. There is a simple and a slightly more advanced version of the `BENCHMARK` macro.

View File

@ -2,6 +2,9 @@
# Data Generators # Data Generators
> Introduced in Catch2 2.6.0. > Introduced in Catch2 2.6.0.
```cpp
#include <catch2/generators/catch_generators.hpp>
```
Data generators (also known as _data driven/parametrized test cases_) Data generators (also known as _data driven/parametrized test cases_)
let you reuse the same set of assertions across different input values. let you reuse the same set of assertions across different input values.
@ -145,6 +148,16 @@ type, making their usage much nicer. These are
> `range()` for floating point numbers has been introduced in Catch2 2.11.0 > `range()` for floating point numbers has been introduced in Catch2 2.11.0
### Random generators
```cpp
#include <catch2/generators/catch_generators_random.hpp>
```
### Range generators
```cpp
#include <catch2/generators/catch_generators_range.hpp>
```
And can be used as shown in the example below to create a generator And can be used as shown in the example below to create a generator
that returns 100 odd random number: that returns 100 odd random number:

View File

@ -15,6 +15,9 @@ own and combine them with the Catch2-provided matchers seamlessly.
## Using Matchers ## Using Matchers
```cpp
#include <catch2/matchers/catch_matchers.hpp>
```
Matchers are most commonly used in tandem with the `REQUIRE_THAT` or Matchers are most commonly used in tandem with the `REQUIRE_THAT` or
`CHECK_THAT` macros. The `REQUIRE_THAT` macro takes two arguments, `CHECK_THAT` macros. The `REQUIRE_THAT` macro takes two arguments,