栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Jest配置中设置时区?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Jest配置中设置时区?

这在Windows上不起作用 -请参阅
https://github.com/nodejs/node/issues/4230


问题

process.env.TZ ='UTC';
在于,如果某行在此行之前运行并使用
Date
,则该值将被缓存在中
Date
。因此
process.env
通常不适合设置时区。参见
https://github.com/nodejs/node/issues/3449

因此,更好的方法是使用实​​际的env变量,但是对于测试而言,它将起作用:

1.将此添加到您的package.json

  "jest": {     ...     // depending on your paths it can also be './global-setup.js'     "globalSetup": "../global-setup.js"  }}

2.将此文件放在package.json之外, 作为

global-setup.js

module.exports = async () => {    process.env.TZ = 'UTC';};

3.可选:添加测试以确保UTC执行

describe('Timezones', () => {    it('should always be UTC', () => {        expect(new Date().getTimezoneOffset()).toBe(0);    });});

正常

setupFiles
不能正常工作 对我来说,因为它们运行太晚了(开玩笑:^ 23.5.0)。因此, 必须
使用globalSetup文件。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/374643.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号