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
相关产品推荐
相关产品推荐

