mitsuhiko/insta · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
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