macro_rules! expect_ok { ( $result:expr ) => { ... }; }
Expand description
Expects that the given Result
is Ok
and returns its unwrapped contents; otherwise returns
early.
§Examples
fn passing_test() -> Result<()> {
let result: Result<i32> = Ok(69);
let contents = expect_ok!(result);
expect_eq!(contents, 69);
Ok(())
}
fn failing_test() -> Result<()> {
let result: Result<i32> = Err(anyhow!("ruh roh!"));
let contents = expect_ok!(result); // returns early
Ok(()) // won't be reached
}
failing_test()
will return early after calling expect_ok!
. The Err
will be wrapped in a
descriptive error message such as:
[my/file.rs:12] “expect_ok!(result)” Expected Ok, got Err: “ruh roh!”
[ … wrapped Err details …]