Skip to main content

assert_eq_diff

Macro assert_eq_diff 

Source
macro_rules! assert_eq_diff {
    ($left:expr, $right:expr $(,)?) => { ... };
    ($left:expr, $right:expr, $($arg:tt)+) => { ... };
}
Expand description

Asserts that two expressions are equal, showing a colored line-by-line diff on failure.

Works like assert_eq! but instead of dumping raw Debug output, it shows a line-by-line diff with removed lines in red and added lines in green.

Both expressions must implement Debug and PartialEq.

§Examples

use philiprehberger_diff_assert::assert_eq_diff;

let a = "hello";
let b = "hello";
assert_eq_diff!(a, b);

With a custom message:

use philiprehberger_diff_assert::assert_eq_diff;

assert_eq_diff!(1, 2, "values should match: {}", "test");