#排序 #差异 #格式化 #颜色 #断言

pretty_assertions_sorted

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

5 个稳定版本

1.2.3 2023年6月16日
1.2.2 2023年6月15日
1.2.1 2022年9月7日
1.2.0 2022年5月19日
1.1.2 2021年12月8日

#199开发工具

Download history 7034/week @ 2024-04-20 6657/week @ 2024-04-27 6730/week @ 2024-05-04 5104/week @ 2024-05-11 4673/week @ 2024-05-18 4181/week @ 2024-05-25 4073/week @ 2024-06-01 3108/week @ 2024-06-08 2918/week @ 2024-06-15 3892/week @ 2024-06-22 2918/week @ 2024-06-29 2558/week @ 2024-07-06 1860/week @ 2024-07-13 2417/week @ 2024-07-20 3089/week @ 2024-07-27 3475/week @ 2024-08-03

11,288 每月下载量
用于 7 crates

MIT/Apache

160KB
386

格式化断言(排序版)

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

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

standard assertion

当差异排序时,这更容易理解

sorted assertion

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

要使用排序版本,导入如下

use pretty_assertions_sorted::{assert_eq, assert_eq_sorted};

assert_eq 作为 pretty_assertions::assert_eq 的重新导出提供,应在您不希望 Debug 输出排序或 Debug 输出无法排序(不支持类型,例如 f64::NEG_INFINITY 或自定义 Debug 输出)时使用。

提示

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

许可证:MIT/Apache-2.0

依赖项

~2MB
~32K SLoC