快照测试 - blag

主要观点:快照测试便于比较函数的大型输出,无需直接断言原始输出,而是将预期输出保存在文件中进行比较,快照测试框架可使此过程更轻松,如 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 用于交互式审查。
阅读 37
0 条评论