Build status Latest version All downloads Downloads of latest version

Pretty Assertions

When writing tests in Rust, you'll probably use assert_eq!(a, b) a lot.

If such a test fails, it will present all the details of a and b, but you have to spot, the differences yourself, which is not always straightforward, like here:

standard assertion

Wouldn't that task be much easier with a colorful diff?

pretty assertion

Yes it would. And you only need one line of code to make it happen — seriously:

``rust // add the following line to the top of your crate root to // overwriteassert_eq!` with a colorful drop-in replacement

[macrouse] extern crate prettyassertions;

```

Ok, and don't forget to add the pretty_assertions dependency to Cargo.toml. Does that count as a line of code?.. ;-)

Note

Example

This is the Rust code behind the screenshots above.

```rust // uncomment the next line to make the assertions colorful: //#[macrouse] extern crate prettyassertions;

fn main() { #[derive(Debug, PartialEq)] struct Foo { lorem: &'static str, ipsum: u32, dolor: Result, }

let x = Some(Foo { lorem: "Hello World!", ipsum: 42, dolor: Ok("hey".to_string())});
let y = Some(Foo { lorem: "Hello Wrold!", ipsum: 42, dolor: Ok("hey ho!".to_string())});

assert_eq!(x, y);

} ```

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.