如何在Azure Pipelines中进行笑话快照

时间:2020-09-10 15:15:36

标签: azure-devops jestjs continuous-integration azure-pipelines jest-image-snapshot

我正在使用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无效,并且我看不到如何更新快照是一个好的解决方案。

这既发生在单元测试中,也发生在集成测试中的图像快照中。

感谢您提出任何澄清或替代解决方案。

1 个答案:

答案 0 :(得分:1)

在诸如Azure DevOps之类的CI系统中,除非显式传递--updateSnapshot告诉其重新生成快照,否则不会自动编写Jests快照。

要解决此问题,您可以运行以下脚本:

jest --updateSnapshot

此外,建议将快照放入存储库中,而不要在CI中重新生成快照。

如果没有特殊要求,您可以首先在本地运行快照并将.snap文件放入存储库,然后在CI上运行。