首页 > 解决方案 > Faker 污染 VRT 如何使用相同的随机数据运行 VRT 测试,因此找不到视觉差异

问题描述

我在很多项目中使用faker。最近我被介绍到 VRT(视觉回归测试),这个过程在部署之前拍摄站点的快照,然后在部署之后立即拍摄,并提醒用户布局的任何变化。我是一个品牌的唯一 FED 开发人员,并且需要能够在 VRT 流程第二次运行时重复来自 faker 的随机结果。如果我不这样做,VRT 过程将毫无用处,因为我返回的结果太多,无法全部测试。

有谁知道我可以继续使用faker进行正在进行的开发但以某种方式捕获随机种子进行渲染,保留它并重新运行它以进行第二次VRT测试的方法?所以第二次所有的文本都会以同样的方式显示。我们使用詹金斯。

也许有一种方法可以调用 faker 来传递一个特定的随机数,这样我们就可以使用 jenkins 来运行一个传递唯一随机数的构建?因此,我们将使用“yarn run VRT-compile”而不是“yarn run compile”,并且“yarn run VRT-compile”将传入相同的随机数。我该怎么做?

所以这就是我们发现的结果:事实证明,利用 jenkins,我们能够添加自定义 php 文件来处理 faker 种子变量,并将其添加/删除到项目中,然后再为我们想要的构建运行 yarn compile。我们向 PatternLab 我们的前端模板系统创建的 faker 插件提交了一个 PR,以便他们在本机添加此功能到插件中,但尚未收到回复。

标签: phpjenkinsfaker

解决方案


推荐阅读