Skip to content

参考

基于 Vitest v4.x / Jest v30.x 编写

速查

快照 API

API说明
toMatchSnapshot(matchers?, hint?)外部 .snap 文件快照
toMatchInlineSnapshot(matchers?, snap?)内联快照,写回测试文件
toMatchFileSnapshot(path, hint?)写到指定文件(Vitest 独有,须 await
toThrowErrorMatchingSnapshot(hint?)抛错消息快照
toThrowErrorMatchingInlineSnapshot(snap?)抛错消息内联快照
toMatchAriaSnapshot()ARIA 树快照(Vitest 4.1.4+)
expect.addSnapshotSerializer(s)运行时注册自定义序列化器

配置项

字段工具说明
snapshotFormat两者pretty-format 输出风格(printBasicPrototype 等)
snapshotSerializers两者全局自定义序列化器列表
resolveSnapshotPathVitest自定义快照路径(函数)
snapshotResolverJest自定义快照路径(模块,需正反向 + 一致性检查)

Vitest vs Jest 速览

VitestJest
toMatchFileSnapshot
错误快照格式[Error: msg]"msg"
文件头Vitest Snapshot v1Jest Snapshot v1
hint 分隔>:
路径配置函数模块

命令

bash
# 更新快照
vitest -u
vitest -u -t "测试名"
jest -u
jest --testNamePattern="pattern" -u

# CI(不写快照,差异即失败)
vitest run
jest --ci

官方资源