2 个版本
0.1.1 | 2022年8月15日 |
---|---|
0.1.0 | 2022年8月15日 |
#730 in 调试
每月下载量3,506
在 4 个代码包 中使用
5KB
assert_let_bind
assert_let_bind 是 Rust 编程语言中用于编写模式匹配测试的便利宏。
assert_let
宏测试一个值是否匹配给定的模式,如果匹配成功则在当前作用域中绑定该模式,如果匹配失败则引发 panic。
(受到 assert_matches 的强烈启发)
use assert_let_bind::assert_let;
#[derive(Debug)]
enum Foo {
A(i32, i32),
B(i32),
}
let foo = Foo::A(3000, 2000);
assert_let!(Foo::A(x, y), foo);
assert_eq!(x + y, 5000);
一般来说,assert_let(pattern, expr)
约等于
let pattern = expr else { panic!("some panic message with {} {}", pattern, expr)};
用法
此宏依赖于 let else
,因此目前仅适用于 nightly Rust。
将此宏添加到您的项目中
cargo add assert_let_bind
仅将此宏添加到您的测试中
cargo add --dev assert_let_bind
许可协议
此代码根据 MIT 许可协议进行分发。有关详细信息,请参阅 LICENSE 文件。
贡献
由于此代码包已经非常完美,因此不需要贡献。
在极不可能的情况下,如果您认为它不是完美的,欢迎提交问题和拉取请求。