【问题标题】:How to handle timezones in Cypress snapshot tests?如何在赛普拉斯快照测试中处理时区?
【发布时间】:2020-03-06 12:24:48
【问题描述】:

我们使用 Cypress 和 cypress-image-snapshot 进行快照测试。不幸的是,我们在另一个国家运行测试的同事遇到了问题,因为他们因时区不同而失败。 在我们与日期相关的组件中,我们传递 ISO 8601 格式的字符串来设置日期。

对于我们的笑话测试,我们使用模拟 (Components using Date objects produce different snapshots in different timezones),但不太确定如何处理 Cypress 中的情况。

【问题讨论】:

  • The Cypress docs 特别突出 cy.clock,你调查过吗?
  • cy.clock() 用于加速 JS 计时器功能,例如 setTimeout(),与时区无关,因此您可以忽略该方法。
  • 您应该能够通过构建测试来管理时区问题,以便它只检查相对时间值。您能否发布一个简单的示例来说明问题?

标签: javascript date time jestjs cypress


【解决方案1】:

您可以通过在打开前添加特定时区来打开与服务器不同TZ的浏览器,这样

"scripts": {
  "cypress:open": "TZ=America/New_York cypress open",
  "cypress:run": "TZ=America/New_York cypress run"
}

【讨论】:

  • 是的,这就是我最终所做的,因为 cypress 没有专用的 api
  • 这不适用于 Windows。我知道我必须使用“SET TZ=America/New_York cypress run”,但它不起作用
猜你喜欢
  • 2021-12-07
  • 2023-02-18
  • 2023-02-14
  • 1970-01-01
  • 2021-11-06
  • 2021-10-20
  • 2020-05-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多