如何在 Azure Pipelines 中制作快照

How to do jest snapshots within Azure Pipelines

我正在使用 jest snapshots 以及 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 没有用,而且我不认为更新快照是一个好的解决方案。

单元测试以及集成测试中的图像快照都会发生这种情况。

如有任何说明或替代解决方案,我们将不胜感激。

在 CI 系统中,例如 Azure DevOps,Jests 快照不会被自动写入,除非通过 --updateSnapshot 明确告诉它重新生成快照。

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

jest --updateSnapshot

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

如果没有特殊要求,可以先运行在本地拍快照,然后把.snap文件放到仓库,然后运行在CI。