Better test assertion diffs with colored inline comparisons
cargo add philiprehberger-diff-assertBetter test assertion diffs with colored inline comparisons
[dependencies]
philiprehberger-diff-assert = "0.1.8"
use philiprehberger_diff_assert::assert_eq_diff;
#[test]
fn my_test() {
let expected = "hello\nworld\nfoo";
let actual = "hello\neveryone\nfoo";
// Shows a colored diff on failure instead of raw Debug output
assert_eq_diff!(expected, actual);
}
Output on failure:
hello
- world
+ everyone
foo
use philiprehberger_diff_assert::diff_strings;
let diff = diff_strings("line1\nline2", "line1\nline3");
println!("{}", diff);
| Function / Macro | Description |
|---|---|
assert_eq_diff!(left, right) | Assert equality with colored diff on failure |
assert_eq_diff!(left, right, msg, ..) | With custom failure message |
diff_strings(left, right) | Get colored diff of two strings |
diff_strings_no_color(left, right) | Get diff without ANSI codes |
diff_debug(left, right) | Diff Debug output of two values |
cargo test
cargo clippy -- -D warnings
If you find this project useful: