6 个版本 (3 个破坏性更改)
0.4.2 | 2023年4月24日 |
---|---|
0.4.1 | 2023年4月2日 |
0.3.0 | 2023年4月2日 |
0.2.0 | 2023年3月31日 |
0.1.0 | 2023年3月26日 |
#2548 在 Rust 模式
每月下载量 33
用于 flagger
27KB
665 行
should
should
是一个 Rust 的后缀断言库,深受 Shouldly 启发。它旨在使编写断言感觉更自然,同时提供清晰的错误消息。
它通过泛型实现断言特质,同时利用堆栈跟踪来重建原始表达式
fn multiply(x: i32, y: i32) -> i32 {
x + y // Oh no a bug!
}
#[test]
fn test_multiply() {
multiply(3, 5).should_be(15);
}
panicked at 'multiply(3, 5) should be 15 but was 8'
断言
实现了 T: PartialEq
以及 Ok(T)
和 Some(T)
should_be
should_not_be
实现了 T: PartialOrd
以及 Ok(T)
和 Some(T)
should_be_lt
should_be_le
should_be_gt
should_be_ge
实现了 Option<T>
should_be_some
should_be_none
实现了 Result<T, E>
should_be_ok
should_be_err
实现了 str
should_start_with
should_not_start_with
should_end_with
should_not_end_with
实现了 T: IntoIterator
should_be_empty
should_not_be_empty
所有断言类型都必须实现 Debug
特质。
依赖关系
~4.5–7MB
~126K SLoC