insta
1.41.1
insta:Rust 的快照测试库
快照测试(有时也称为批准测试)是根据参考值(快照)断言值的测试。这类似于assert_eq!
允许您将值与参考值进行比较,但与简单的字符串断言不同,快照测试允许您针对复杂的值进行测试,并提供全面的工具来检查更改。
如果您的参考值非常大或经常更改,则快照测试特别有用。
#[测试]fn test_hello_world() {insta::assert_debug_snapshot!(vec![1, 2, 3]);}
好奇的?有一个截屏视频显示了整个工作流程:观看 insta 介绍截屏视频。或者,如果您不喜欢视频,请阅读 5 分钟的介绍。
Insta 还支持内联快照,这些快照直接存储在源文件中,而不是单独的文件中。这是通过配套的cargo-insta 工具完成的。
为了查看.snap
文件,有一个 vscode 扩展,它可以语法突出显示快照文件、查看快照等。它可以从市场安装:在市场上查看。
Insta 的所有 diff 操作都使用similar
。您可以独立于 insta 使用它。您可以使用similar-asserts
crate来获取标准assert_eq!
宏来实现类似 insta 的差异以进行定期比较:
使用similar_asserts::assert_eq;fn main() {让reference = vec![1,2,3,4];assert_eq!(reference,(0..4).collect::<Vec<_>>()) ;}
如果您喜欢该项目并发现它有用,您可以成为赞助商。
项目网站
文档
问题跟踪器
许可证:Apache-2.0