Crates.io | passert |
lib.rs | passert |
version | 0.2.0 |
source | src |
created_at | 2015-08-27 19:25:41.877628 |
updated_at | 2015-12-11 23:54:49.267883 |
description | Pretty/Power assertion macros for rust |
homepage | |
repository | https://github.com/manuel-woelker/rust-passert |
max_upload_size | |
id | 2935 |
size | 5,642 |
Pretty/Power assertion macros for rust
An assert macro in the spirit of [Spock/Groovy assertions] (http://docs.groovy-lang.org/latest/html/documentation/core-testing-guide.html#_power_assertions) which evaluates and prints subexpressions, simplifying failure analysis
#![feature(plugin)]
#![plugin(passert_macros)]
extern crate passert;
#[test]
#[should_panic]
fn it_works() {
let a = 3;
let b = 4;
passert!(a + 2 + 3 == -b);
}
Output
running 1 test
Assertion failed:
a + 2 + 3 == -b
| | | | ||
3 5 8 | |4
| -4
false
thread 'it_works' panicked at 'Assertion failed: a + 2 + 3 == -b', src/lib.rs:11
Debug
.Debug
is done after the whole expression
has been evaluated. In cases where other subexpressions cause changes to previously
evaluated subexpression the displayed value may be incorrect.&&
and ||
are not evaluated lazily.