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 在 测试 中排名
每月下载量 501,505 次
用于 957 个 crate (923 个直接使用)
360KB
9K SLoC
insta:Rust 的快照测试库
简介
快照测试(有时也称为批准测试)是对参考值(快照)断言值的测试。这与 assert_eq!
允许您将值与参考值进行比较类似,但与简单的字符串断言不同,快照测试允许您对复杂值进行测试,并附带全面的工具来审查更改。
如果参考值非常大或经常更改,快照测试特别有用。
示例
#[test]
fn test_hello_world() {
insta::assert_debug_snapshot!(vec![1, 2, 3]);
}
好奇吗?有一个屏幕录制展示了整个工作流程:观看 Insta 简介屏幕录制。或者如果您不喜欢视频,请阅读 5 分钟简介。
Insta 还支持内联快照,这些快照直接存储在您的源文件中,而不是单独的文件中。这是通过配套的 cargo-insta 工具实现的。
编辑器支持
要查看 .snap
文件,有一个 vscode 扩展,可以语法高亮快照文件,审查快照等。它可以从市场安装:在市场上查看。
差异比较
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<_>>());
}
赞助
如果您喜欢该项目并觉得它有用,您可以 成为赞助商。
许可证和链接
- 项目网站
- 文档
- 问题跟踪器
- 许可证: Apache-2.0
依赖关系
~0.2–9.5MB
~73K SLoC