#排序 #断言 #输出 #调试 #分支 #美观 #对象

pretty_assertions_sorted_fork

包装了 rust-pretty-assertions 包,允许对调试输出进行排序

1 个不稳定版本

新版本 0.10.0 2024年8月19日

#534开发工具


用于 opentelemetry_gcloud_moni…

MIT/Apache

160KB
845

美观断言(排序)(分支)

此包已弃用,请使用 此包

主仓库

在这个分支中添加了 sort_all 以忽略数组中的排序

如果不需要忽略数组中的排序,请使用 此包

此包包装了 pretty_assertions 包,通过彩色差异突出显示测试失败中的差异。

然而,差异是基于对象的 Debug 输出的。对于具有非确定性输出的对象,例如具有类似内容的两个 HashMap,差异将被污染并模糊,例如这里的假阳性差异

standard assertion

当差异排序时,这要容易理解得多

sorted assertion

这是一个非常简单的例子,您可以通过在测试中将 HashMap 转换为 BTreeMap 来解决这个问题。但是,替换类型为有序版本并不总是可行,特别是对于嵌套在外部不可控类型中的 HashMap。

要使用排序版本,请按如下方式导入

use pretty_assertions_sorted::{assert_eq, assert_eq_sorted};

assert_eqpretty_assertions::assert_eq 的重导出,并且如果您不希望调试输出排序,或者调试输出无法排序(不受支持的类型,例如 f64::NEG_INFINITY 或自定义 Debug 输出),则应使用它。

提示

将其指定为 [dev-dependencies],它将仅在编译测试、示例和基准时使用。这样,cargo build 的编译时间就不会受到影响!

许可证:MIT/Apache-2.0

依赖项

~2MB
~32K SLoC