The default reporter.
More...
#include <DefaultReporter.hpp>
◆ DefaultReporter() [1/2]
| mimicpp::reporting::DefaultReporter::DefaultReporter |
( |
| ) |
|
|
nodiscarddefault |
◆ DefaultReporter() [2/2]
| mimicpp::reporting::DefaultReporter::DefaultReporter |
( |
std::ostream & | out | ) |
|
|
inlineexplicitnodiscardnoexcept |
◆ report_error()
| void mimicpp::reporting::DefaultReporter::report_error |
( |
const StringT | message | ) |
|
|
inlineoverridevirtual |
Handles general or unspecified errors.
- Parameters
-
| message | The error message. |
This function is called when a non-specific error occurs.
- Note
- In general, this function is expected to throw an exception rather than return. However, as it may be called for various reasons, implementations should check for existing uncaught exceptions before throwing their own. This can be done using
std::uncaught_exceptions().
- See also
DefaultReporter::report_error for an example.
Implements mimicpp::reporting::IReporter.
◆ report_full_match()
|
|
inlineoverridevirtualnoexcept |
Handles the report for a fully matching expectation.
- Parameters
-
| call | The call report. |
| expectationReport | Report of the fully matched expectation. |
This function is called when a match has been found. There are no other expectations for the behavior of this function, except for the noexcept guarantee. Implementations should simply return to the caller.
Implements mimicpp::reporting::IReporter.
◆ report_inapplicable_matches()
| void mimicpp::reporting::DefaultReporter::report_inapplicable_matches |
( |
CallReport | call, |
|
|
std::vector< ExpectationReport > | expectationReports ) |
|
inlineoverridevirtual |
Handles reports for all inapplicable but otherwise matching expectations. This function is called only when no better options are available.
- Parameters
-
| call | The call report. |
| expectationReports | Reports of all inapplicable expectations. |
This function is called when no applicable match has been found, but the call expectations are actually fulfilled. This occurs when the "times" policy is already saturated (e.g., it was expected once and has already been matched once) or is otherwise not applicable (e.g., a sequence element is not the current element).
- Attention
- Derived reporter implementations must never return normally and should instead exit the function either by throwing an exception or using a terminating mechanism (e.g.,
std::abort). Failing to do so will result in undefined behavior.
Implements mimicpp::reporting::IReporter.
◆ report_no_matches()
| void mimicpp::reporting::DefaultReporter::report_no_matches |
( |
CallReport | call, |
|
|
std::vector< NoMatchReport > | noMatchReports ) |
|
inlineoverridevirtual |
Expects reports on all non-matching expectations. This is only called when no better options are available.
- Parameters
-
| call | The call report. |
| noMatchReports | Reports of all none matching expectations. |
This function is called when no match has been found and there are no other expectations that are matching but inapplicable. It serves as the fallback reporting mechanism for unmatched calls.
- Note
noMatchReports may be empty.
- Attention
- Derived reporter implementations must never return normally and should instead exit the function either by throwing an exception or using a terminating mechanism (e.g.,
std::abort). Failing to do so will result in undefined behavior.
Implements mimicpp::reporting::IReporter.
◆ report_unfulfilled_expectation()
| void mimicpp::reporting::DefaultReporter::report_unfulfilled_expectation |
( |
ExpectationReport | expectationReport | ) |
|
|
inlineoverridevirtual |
Handles the report of an unfulfilled expectation.
- Parameters
-
| expectationReport | The expectation report. |
This function is called when an unfulfilled expectation goes out of scope. This occurs when the "times" policy is not satisfied.
- Note
- In general, this function is expected to not return but throw an exception instead. However, since it is always called when an unfulfilled expectation goes out of scope, implementations shall check whether an uncaught exception already exists (e.g., via
std::uncaught_exceptions) before throwing their own exception.
- See also
DefaultReporter::report_unfulfilled_expectation for an example.
Implements mimicpp::reporting::IReporter.
◆ report_unhandled_exception()
| void mimicpp::reporting::DefaultReporter::report_unhandled_exception |
( |
const CallReport | call, |
|
|
const ExpectationReport | expectationReport, |
|
|
const std::exception_ptr | exception ) |
|
inlineoverridevirtual |
Handles reports about unhandled exceptions during handle_call.
- Parameters
-
| call | The call report. |
| expectationReport | The expectation report. |
| exception | The exception. |
This function is called when an expectation throws an exception during a matches call. There are no specific requirements for the behavior of this function. Since this function is called inside a catch-block, throwing exceptions will result in a terminate call.
Implements mimicpp::reporting::IReporter.
The documentation for this class was generated from the following file: