2 个不稳定版本
0.1.0 | 2020 年 1 月 26 日 |
---|---|
0.0.0 | 2020 年 1 月 25 日 |
#2688 in Rust 模式
6KB
断言器
针对 Rust 的新测试工具
功能
-
支持稳定版本
-
unwrap!
您可以轻松地展开嵌套值。
use asserter::*;
enum Complex {
Normal(String),
Boxed(Box<Complex>),
}
#[asserter]
fn main() {
let foo = Complex::Boxed(Box::new(Complex::Normal(String::from("foo"))));
unwrap!(foo as Complex::Boxed(unbox!(Complex::Normal(s))));
assert_eq!(s, "foo");
}
此外,您还可以在 unwrap!
中使用 box 模式。
use asserter::*;
enum Complex {
Normal(String),
Boxed(Box<Complex>),
}
#[asserter]
fn main() {
let foo = Complex::Boxed(Box::new(Complex::Normal(String::from("foo"))));
unwrap!(foo as Complex::Boxed(box Complex::Normal(s)));
assert_eq!(s, "foo");
}
- rustfmt 兼容
有一些语法糖允许与 rustfmt 一起使用。
用法
Cargo.tml
:
[dependencies]
asserter = "0.1"
#[asserter]
fn main() {
let foo = Complex::Boxed(Box::new(Complex::Normal(String::from("foo"))));
unwrap!(foo as Complex::Boxed(box Complex::Normal(s)));
assert_eq!(s, "foo");
}
依赖项
~1.5MB
~33K SLoC