You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node-tap Protocol:如何创建或更新spec.ts.cjs快照?

Node-tap 快照更新问题

我参考node-tap的快照示例,通过命令 tap tagger.test.mjs --snapshot 为以下TS版本测试用例生成了快照CJS文件:

// tagger.spec.ts
import t from 'tap'
import tagger from './tagger.spec.ts'
t.matchSnapshot(tagger('tagName', 'content'), 'output')

更新测试用例后,执行原命令出现 x must match snapshot 错误,查文档没找到更新快照的命令,请问如何创建或更新新快照?


解决方法

  • 使用 --snapshot-update 参数:执行测试时添加该参数,会自动更新不匹配的快照
    tap tagger.test.mjs --snapshot-update
    
  • 删除旧快照后重新生成:找到生成的CJS快照文件(一般在__snapshots__目录下)删除,再执行原命令 tap tagger.test.mjs --snapshot,即可生成新快照
  • 尝试 -u 简写参数:部分tap版本支持用 -u 作为--snapshot-update的简写,可执行:
    tap tagger.test.mjs -u
    

注意:如果测试用例是TS文件,要确保已配置好TS编译环境(比如借助ts-node),或者把命令中的.mjs替换为编译后的JS文件,避免模块找不到的问题。

内容的提问来源于stack exchange,提问作者Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 05:35:55