主要观点:快照测试便于比较函数的大型输出,无需直接断言原始输出,而是将预期输出保存在文件中进行比较,快照测试框架可使此过程更轻松,如 Rust 中的[insta](https://crates.io/crates/insta)
。
关键信息:
- 可使用
assert_debug_snapshot!(my_func());
,框架自动处理保存和加载快照文件。 - 工作流程包括写测试并包含断言宏,首次运行时框架生成快照文件,可按需修改,再次运行时框架对比保存的快照,若输出有回归或有意更改则生成新快照文件,旧文件保留以供查看。
重要细节:文中给出了insta
的文档链接以及在libsql-server
上添加大量快照测试的拉取请求链接,还提到 Jane Street 有关于此的博客文章What if writing tests was a joyful experience?,并展示了insta
文档中的一个小 svg 用于交互式审查。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。