mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-23 03:43:28 +01:00
parent
626b1d3936
commit
3dc4de8173
@ -9,6 +9,14 @@ Nonetheless there are still some occasions where finer control is needed. For th
|
|||||||
|
|
||||||
Although Catch is header only it still, internally, maintains a distinction between interface headers and headers that contain implementation. Only one source file in your test project should compile the implementation headers and this is controlled through the use of one of these macros - one of these identifiers should be defined before including Catch in *exactly one implementation file in your project*.
|
Although Catch is header only it still, internally, maintains a distinction between interface headers and headers that contain implementation. Only one source file in your test project should compile the implementation headers and this is controlled through the use of one of these macros - one of these identifiers should be defined before including Catch in *exactly one implementation file in your project*.
|
||||||
|
|
||||||
|
# Reporter / Listener interfaces
|
||||||
|
|
||||||
|
CATCH_CONFIG_EXTERNAL_INTERFACES // Brings in neccessary headers for Reporter/Listener implementation
|
||||||
|
|
||||||
|
Brings in various parts of Catch that are required for user defined Reporters and Listeners. This means that new Reporters and Listeners can be defined in this file as well as in the main file.
|
||||||
|
|
||||||
|
Implied by both `CATCH_CONFIG_MAIN` and `CATCH_CONFIG_RUNNER`.
|
||||||
|
|
||||||
# Prefixing Catch macros
|
# Prefixing Catch macros
|
||||||
|
|
||||||
CATCH_CONFIG_PREFIX_ALL
|
CATCH_CONFIG_PREFIX_ALL
|
||||||
|
@ -12,10 +12,11 @@ so you are not forced to implement events you're not interested in.
|
|||||||
|
|
||||||
|
|
||||||
## Implementing a Listener
|
## Implementing a Listener
|
||||||
|
Simply derive a class from `Catch::TestEventListenerBase` and implement the methods you are interested in, either in
|
||||||
|
the main source file (i.e. the one that defines `CATCH_CONFIG_MAIN` or `CATCH_CONFIG_RUNNER`), or in a
|
||||||
|
file that defines `CATCH_CONFIG_EXTERNAL_INTERFACES`.
|
||||||
|
|
||||||
In your main source file (i.e. the one that has the `#define` for `CATCH_CONFIG_MAIN` or `CATCH_CONFIG_RUNNER`),
|
Then register it using `CATCH_REGISTER_LISTENER`.
|
||||||
simply derive a class from `Catch::TestEventListenerBase` and implement the methods you are interested in.
|
|
||||||
Then register it using `INTERNAL_CATCH_REGISTER_LISTENER`.
|
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user