与在管道中运行相比,Date() 在本地运行时有所不同

tim*_*mmb 8 javascript jestjs

我正在使用 Jest 进行快照测试,在其中一个测试中,我使用 new Date() 创建一个新日期,问题是当我在计算机上本地运行测试时,日期为德语:Mon Jan 20 2020 01:00: 00 GMT+0100 (Mitteleurop\xc3\xa4ische Normalzeit),当我使用 gitlab 管道运行相同的测试时,文本为英语 Mon Jan 20 2020 00:00:00 GMT+0000(协调世界时)。这导致我的管道失败。是否有一个选项可以全局设置我的笑话语言。我能够使用process.env.TZ = 'UTC';该语言是否有类似的东西来设置时区?

\n

小智 9

为了防止与时区相关的问题(例如日期格式),您可以在 jest 配置文件中设置节点时区。现在,您可以确定所有测试都在同一时区执行,无论您的同事或 CI 服务器位于何处。

请调整您的 jest 配置文件:

// jest.config.js
process.env.TZ = 'GMT';

module.exports = {
  // ...
}
Run Code Online (Sandbox Code Playgroud)

资源 - https://dev.to/maxpou/how-to-mock-date-with-jest-3k4b