0.0.2 |
|
---|
#85 in #failure
14KB
154 行
arsert
arsert - 提供非常复杂的失败断言
此crate允许您编写与内置 assert
[assert] 相似的断言,但当断言失败时,它会输出关于断言参数的诊断信息。
使用方法
这里是一个失败的断言
use arsert::arsert;
let x = 1;
let y: i32 = 2;
arsert!(x >= y.pow(3));
输出如下
thread 'main' panicked at 'x >= y . pow ( 3 )
x = 1
y . pow ( 3 ) = 8', arsert_failure/src/lib.rs:23:5
这里是一个成功的例子
use arsert::arsert;
let x = 20 as i64;
arsert!(x <= x.pow(3));
支持的操作
目前,arsert支持"简单"断言(非常类似于assert),一元断言(例如 *foo
和 !foo
),以及二元操作断言,如 ==
、>
、&&
等。
我正在开发更多支持的表达式(也许,一旦proc_macro语句稳定,会提供扩展机制)。
名称
抱歉使用厕所幽默(每个人都会拉屎,对吧)。欢迎提出简短而有意义的名称改进建议。
许可证:MIT
依赖项
约2MB
约46K SLoC