Power Assert in Rust. Provides better assertion message like this:
$ cargo run --example normal
Running `target/debug/examples/normal`
thread '<main>' panicked at 'assertion failed: bar.val == bar.foo.val
power_assert!(bar.val == bar.foo.val)
| | | | | |
| 3 | | | 2
| | | Foo { val: 2 }
| | Bar { val: 3, foo: Foo { val: 2 } }
| false
Bar { val: 3, foo: Foo { val: 2 } }
', examples/normal.rs:26
An unknown error occurred
To learn more, run the command again with --verbose.
Add this to your Cargo.toml
:
[dependencies]
power-assert = "*"
and add this to your lib.rs
or main.rs
:
#![feature(plugin)]
#![plugin(power_assert)]
Now, you can use power_assert!()
and power_assert_eq!()
.
If you want to override builtin assert!()
and assert_eq!()
, change your lib.rs
or main.rs
as follows.
#![feature(plugin)]
#![plugin(power_assert(override_builtins))]