96 个版本 (55 个稳定版本)

1.39.0 2024年5月15日
1.38.0 2024年3月28日
1.35.1 2024年2月19日
1.34.0 2023年10月9日
0.7.4 2019年3月18日

#3测试 中排名

Download history 114450/week @ 2024-05-03 116128/week @ 2024-05-10 122263/week @ 2024-05-17 110238/week @ 2024-05-24 116540/week @ 2024-05-31 125555/week @ 2024-06-07 122391/week @ 2024-06-14 119723/week @ 2024-06-21 113671/week @ 2024-06-28 115042/week @ 2024-07-05 112634/week @ 2024-07-12 117285/week @ 2024-07-19 123685/week @ 2024-07-26 122862/week @ 2024-08-02 128416/week @ 2024-08-09 104524/week @ 2024-08-16

每月下载量 501,505 次
用于 957 个 crate (923 个直接使用)

Apache-2.0

360KB
9K SLoC

insta:Rust 的快照测试库

Build Status Crates.io License rustc 1.51.0 Documentation VSCode Extension

简介

快照测试(有时也称为批准测试)是对参考值(快照)断言值的测试。这与 assert_eq! 允许您将值与参考值进行比较类似,但与简单的字符串断言不同,快照测试允许您对复杂值进行测试,并附带全面的工具来审查更改。

如果参考值非常大或经常更改,快照测试特别有用。

示例

#[test]
fn test_hello_world() {
    insta::assert_debug_snapshot!(vec![1, 2, 3]);
}

好奇吗?有一个屏幕录制展示了整个工作流程:观看 Insta 简介屏幕录制。或者如果您不喜欢视频,请阅读 5 分钟简介

Insta 还支持内联快照,这些快照直接存储在您的源文件中,而不是单独的文件中。这是通过配套的 cargo-insta 工具实现的。

编辑器支持

要查看 .snap 文件,有一个 vscode 扩展,可以语法高亮快照文件,审查快照等。它可以从市场安装:在市场上查看

jump to definition

差异比较

Insta 使用 similar 进行其所有差异操作。您可以在不依赖 Insta 的情况下独立使用它。您可以使用 similar-asserts crate 来为标准 assert_eq! 宏获取内联差异,以实现与 Insta 类似的差异比较。

use similar_asserts::assert_eq;

fn main() {
    let reference = vec![1, 2, 3, 4];
    assert_eq!(reference, (0..4).collect::<Vec<_>>());
}

赞助

如果您喜欢该项目并觉得它有用,您可以 成为赞助商

依赖关系

~0.2–9.5MB
~73K SLoC