如何更新 React/TypeScript 项目中的快照?

Sup*_*ade 5 unit-testing npm typescript jestjs visual-studio-code

我有一个使用 Jest 测试框架的 React/TypeScript 项目。有时,在我更新代码后,Jest 会将其与快照进行比较,并提供警报,要求我更新它们。其他时候,我没有收到此提示:

Would you like to update your snapshots?
Run Code Online (Sandbox Code Playgroud)

警报:您想更新您的快照吗?

如果我没有收到这个提示,我可以手动更新每一行,但这既乏味又容易出错。


如何自动更新我的快照?

Cub*_*lax 21

对我来说,上面的命令不起作用。但这确实:

npm test -- -u
Run Code Online (Sandbox Code Playgroud)


Sup*_*ade 7

改为从终端运行 Jest

解决方案#1:

对于需要快照的失败测试套件,打开终端并运行

npm test <filename>

这将仅为该文件运行测试。完成后,您可以选择。打

u

现在,如果每个 npm 合适,您的测试将通过。然而,Jest 可能还不知道这一点,你可能有一个

// Snapshot has changed

错误旁边的测试。要么等待 Jest 完成运行您的测试,要么点击

Debug

链接在测试开始以清除错误。


解决方案#2:

有时第一个解决方案不起作用。从终端运行以更新快照的另一个命令是

npm run test:ci -- -u
Run Code Online (Sandbox Code Playgroud)