2个版本
0.1.1 | 2023年10月9日 |
---|---|
0.1.0 | 2023年10月9日 |
#627 in 测试
16KB
321 行
RXpect
一个用于在测试中流畅构建期望的Rust库。
还有其他流畅断言库吗?
其他库都无法完全符合我的期望。我还想测试一下关于Rust中流畅断言库的工作方式的设想。
这个名字是什么意思?
我能想到的其他名字都已经有人使用了。
它的意思是什么?
要么是 Rust Expect,要么是 Raniz Expect,随便你选哪个。
我如何使用这个库?
实际上很简单,用 expect
包裹你要期望的东西,然后调用不同的扩展方法。
use rexpect::expect;
use rexpect::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
失败报告很整洁
use rexpect::expect;
use rexpect::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`'
我不喜欢它
使用其他库。以下是一些也提供流畅期望的其他库,不分先后顺序:
- https://crates.io/crates/totems
- https://crates.io/crates/lets_expect
- https://crates.io/crates/fluent-assertions
- https://crates.io/crates/xpct
- https://crates.io/crates/expect
- https://crates.io/crates/fluent-asserter
- https://crates.io/crates/spectral
- https://crates.io/crates/assertables
- https://crates.io/crates/speculoos
- https://crates.io/crates/assert
- https://crates.io/crates/rassert