如何在我使用React/TypeScript项目中更新快照?

19

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

Would you like to update your snapshots?

警告:您是否想更新快照?

如果我没有收到此提示,可以手动更新每个单独的行,但这很繁琐且容易出错。


如何自动更新我的快照?


如果您自动更新了快照,那么在您对代码进行更改后,如何确定应用程序实际上是正常的?如果应用程序已经损坏,并且您即将写入无效数据作为参考,该怎么办? - skyboyer
2个回答

20

对我来说,上面的命令不起作用。但是这个命令可以:

npm test -- -u

15

请在终端中运行Jest

解决方案#1:

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

npm test <filename>

这将仅运行该文件的测试。完成后,您有选择。按

u

现在如果适当,您的测试将通过npm。但是,Jest可能还不知道这一点,您可能会有一个

// Snapshot has changed

错误出现在您的测试旁边。等待Jest完成运行测试,或单击

Debug

链接以清除错误。


解决方案#2:

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

npm run test:ci -- -u

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接