2个版本
| 0.0.1 | 2023年12月6日 |
|---|---|
| 0.0.0 | 2023年12月6日 |
#48 在 #unwrap
在 2 个crate中使用
7KB
unwrap_display
类似于Result的unwrap,但使用core::fmt::Display特质来格式化,而不是使用core::fmt::Debug.
此crate对于测试非常有用,因此我建议将其添加到dev-dependencies部分,而不是Cargo.toml文件的dependencies部分。
[dev-dependencies]
unwrap_display = "0.0"
lib.rs:
当发生错误时,core::result::Result::unwrap使用core::fmt::Debug而不是core::fmt::Display特质来打印错误。这没关系,因为unwrap的结果本来就不应该让最终用户看到。
有些错误类型在使用Debug而不是Display格式化时对开发者来说也是难以理解的。在这种情况下,使用Display格式化错误可以提高生产效率。一个典型的用例是unittests内部的解析器错误。
此crate向core::result::Result添加了unwrap_display和expect_display_code方法。两者都使用#[track_caller]属性来简化调试。
现在您可以在测试中写入 do_something_interesting().unwrap_display(),错误将以 Display 格式显示,而不是 Debug.