assert_ok ============ [![crates.io](https://img.shields.io/crates/v/assert_ok.svg)](https://crates.io/crates/assert_ok) [![docs.rs](https://docs.rs/assert_ok/badge.svg)](https://docs.rs/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.