3 stable releases
1.0.2 | Nov 17, 2022 |
---|---|
1.0.1 | Mar 17, 2022 |
#2702 in Rust patterns
1,135 downloads per month
3KB
assert_ok
This crate contains a macro assert_ok
which takes an expression and
if the expression evaluates to an Err
, panics with a useful
message. If in contrast the expression evaluates to Ok(v)
then it
returns the value v
.
This is commonly useful in tests. Instead of
let z = foo(arg1, arg2).unwrap();
or
let z = foo(arg1, arg2).expect("foo failed");
use
let z = assert_ok!(foo(arg1, arg2));
It's easier to understand (IMO) and more importantly provides a much more useful error message in the case that it fails.
There is a similar macro in Tokio, however for libraries or applications that don't use Tokio, pulling it in for a single macro doesn't make sense.
lib.rs
:
A macro that asserts that a Result
is [Ok
]