我正在使用jest快照以及jest-image-snapshots。它们在本地工作,但是当我在azure管道中运行它们时,我得到了:
New snapshot was not written. The update flag must be explicitly passed to write a new snapshot.
This is likely because this test is run in a continuous integration (CI) environment in which snapshots are not written by default.
每次运行都会更新快照吗?
我进行了一些研究,但是我发现最好的解决方案是updating snapshots, or removing CI=true。删除CI = true无效,并且我看不到如何更新快照是一个好的解决方案。
这既发生在单元测试中,也发生在集成测试中的图像快照中。
感谢您提出任何澄清或替代解决方案。
答案 0 :(得分:1)
在诸如Azure DevOps之类的CI系统中,除非显式传递--updateSnapshot
告诉其重新生成快照,否则不会自动编写Jests快照。
要解决此问题,您可以运行以下脚本:
jest --updateSnapshot
此外,建议将快照放入存储库中,而不要在CI中重新生成快照。
如果没有特殊要求,您可以首先在本地运行快照并将.snap文件放入存储库,然后在CI上运行。