5 个不稳定版本
0.7.1 | 2024年3月15日 |
---|---|
0.7.0 | 2022年12月13日 |
0.6.1 | 2022年10月22日 |
0.6.0 | 2019年12月11日 |
0.5.0 | 2019年12月10日 |
#140 in #assert
11KB
95 行
弃用 — 使用 assert2
请使用 assert2 替代此包。 assertify!
可在任何地方替换为更强大的 assert2::assert!
,而 testify!
可以通过简短的宏实现
macro_rules! testify {
($name:ident, $($test:tt)+) => {
#[test]
fn $name() {
::assert2::assert!($($test)+);
}
};
}
assertify!(expr)
弃用: 使用 assert2::assert!
。
为 expr
生成具有友好失败信息的断言。如果 expr
是一个二元表达式,实际值应在左侧,预期值应在右侧。
#[test]
fn simple_eq() {
assertify!(1 + 2 == 0);
}
---- tests::simple_eq stdout ----
thread 'tests::simple_eq' panicked at 'failed: 1 + 2 == 0
actual: 3
expected: == 0
', src/lib.rs:98:9
这比 assert_eq!
生成消息有重大改进,因为失败信息显示了失败的表达式。
#[test]
fn simple_eq_traditional() {
assert_eq!(1 + 2, 0);
}
---- tests::simple_eq_traditional stdout ----
thread 'tests::simple_eq_traditional' panicked at 'assertion failed: `(left == right)`
left: `3`,
right: `0`', src/lib.rs:103:9
testify!(name,expr)
弃用: 使用以下内容
macro_rules! testify {
($name:ident, $($test:tt)+) => {
#[test]
fn $name() {
::assert2::assert!($($test)+);
}
};
}
生成一个名为 name
的测试函数,断言 expr
是真实的。
testify!(concat_literals, concat("a", "b") == "ab");
同样,失败信息易于理解
---- tests::concat_literals stdout ----
thread 'tests::concat_literals' panicked at 'failed: concat("a", "b") == "aX"
actual: "ab"
expected: == "aX"
', src/lib.rs:106:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
兼容性
这需要至少 Rust 版本 1.45(2020年7月发布)。
许可证
本项目根据 Apache 2 和 MIT 许可证双许可。您可以选择使用其中之一。
贡献
除非您明确声明,否则您提交的任何贡献,根据 Apache 2.0 许可证定义,应按上述方式双许可,不附加任何额外条款或条件。
依赖关系
~1.5MB
~36K SLoC