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日

#2548Rust 模式

每月下载量 33
用于 flagger

MIT 许可证

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