2 个版本
0.0.2 | 2023 年 4 月 30 日 |
---|---|
0.0.1 | 2021 年 9 月 18 日 |
#303 在 测试
5,528 每月下载量
在 4 crates 中使用
115KB
2.5K SLoC
Assertor
Assertor 使测试断言和失败信息更具可读性。
Assertor 在 API 设计和错误信息方面受 Java Truth 的很大影响,但这完全是一个不同的项目。
免责声明
这不是一个官方的 Google 产品,这只是恰好由 Google 拥有的代码。
⚠ API 仍处于不稳定状态,可能直到 1.0 版本之前都可能发生变化。
示例
use assertor::*;
#[test]
fn test_it() {
assert_that!("foobarbaz").contains("bar");
assert_that!("foobarbaz").ends_with("baz");
assert_that!(0.5).with_abs_tol(0.2).is_approx_equal_to(0.6);
assert_that!(vec!["a", "b"]).contains("a");
assert_that!(vec!["a", "b"]).has_length(2);
assert_that!(vec!["a", "b"]).contains_exactly(vec!["a", "b"]);
assert_that!(Option::Some("Foo")).has_value("Foo");
}
失败案例
use assertor::*;
fn test_it() {
assert_that!(vec!["a", "b", "c"]).contains_exactly(vec!["b", "c", "d"]);
// missing (1) : ["d"]
// unexpected (1): ["a"]
// ---
// expected : ["b", "c", "d"]
// actual : ["a", "b", "c"]
}
功能想法
- 颜色 / 加粗
- 更好的 diff:vec
- 更好的 diff:set
- 更好的 diff:HashMap