rxpect

Crates.iorxpect
lib.rsrxpect
version0.6.0
created_at2023-10-09 19:51:06.505316+00
updated_at2025-07-03 11:53:47.735908+00
descriptionExtensible fluent expectations for Rust
homepage
repositoryhttps://github.com/raniz85/rxpect
max_upload_size
id998406
size87,726
Raniz Daniel Raneland (Raniz85)

documentation

https://docs.rs/rxpect

README

RXpect

A Rust library for fluently building expectations in tests.

Another library for fluent assertions?

None of the other libraries worked quite like I wanted them to. I also wanted to test my ideas about how a fluent assertion library in Rust could work.

What about the name?

All other names I could come up with were already taken.

What does it mean?

Either Rust Expect or Raniz Expect, pick whichever you like best.

How do I use this thing?

It's pretty simple actually, wrap whatever you're having expectations on with expect and then call the different extension methods.

use rxpect::expect;
use rxpect::expectations::EqualityExpectations;

// Expect 1 plus 1 to equal 2
expect(1 + 1).to_equal(2);
running 1 test
test tests::that_one_plus_one_equals_two ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

Failures are neatly reported:

use rxpect::expect;
use rxpect::expectations::EqualityExpectations;

// Expect 1 plus 1 to equal 3
expect(1 + 1).to_equal(3);
thread 'main' panicked at 'Expectation failed (expected == actual)
expected: `3`
  actual: `2`'

I don't like it

Use something else. Here's a bunch of other crates that also does fluent expectations, in no particular order:

Commit count: 23

cargo fmt