macro_rules! fail {
($($message:expr),+ $(,)?) => { ... };
() => { ... };
}Expand description
Evaluates to a Result which contains an Err variant with the given test
failure message.
This can be used to force the test to fail if its execution reaches a particular point. For example:
ⓘ
match some_value {
ExpectedVariant => {...}
UnwantedVaraint => {
fail!("This thing which should not happen happened anyway")?;
}
}One may include formatted arguments in the failure message:
ⓘ
match some_value {
ExpectedVariant => {...}
UnwantedVaraint => {
fail!("This thing which should not happen happened anyway: {}", some_value)?;
}
}One may also omit the message, in which case the test failure message will be generic:
ⓘ
match some_value {
ExpectedVariant => {...}
UnwantedVaraint => {
fail!()?;
}
}Unlike panic! but analogously to verify_that and verify_pred, this
macro has no effect on the flow of control but instead returns a Result
which must be handled by the invoking function. This can be done with the
question mark operator (as above) or the method
and_log_failure.