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

问题描述

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

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

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

解决方法

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

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

jest --updateSnapshot

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...