✗ npx jest --version
24.5.0
获得了一组对时区敏感的玩笑测试。我们通常使用npm脚本运行它们:"jest": "TZ=utc jest"
将TZ设置为utc时,我可以在快照中获得如下所示的值:
modificationDate="2019-01-08T00:00:00.000Z"
没有它,我得到:
modificationDate="2019-01-08T08:00:00.000Z"
有没有一种方法可以在我的jest配置中进行设置,这样我就可以npx jest
在命令行中运行而不必通过NPM脚本了?配置文档中没有关于此的任何内容。
我尝试将这两个添加到我的jest.config.js中。没有人起作用:
TZ: 'utc',
globals: {
TZ: 'utc',
},
当然,解决这个问题似乎微不足道,但是令我惊讶的是,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文件。
我使用moment.js在React组件的辅助文件中执行大部分日期逻辑,但我还没有弄清楚如何在Jest a la中模拟日期。 Jest文档只介绍计时器函数,如,等,但不帮助设置日期,然后检查my date函数是否完成了它们的任务。 以下是我的一些JS文件: 下面是我用玩笑设置的: 现在这些测试通过了,因为我使用的是矩,我的函数使用的是矩,但它似乎有点不稳定,我想为测试设置一个固定的时间。 你知道怎
JTA事务意外回滚(可能是由于超时);嵌套的异常是 由于JPA,我得到了一个超时异常:如何增加事务所需的时间? 我应该在哪里包括参数来解决这个问题? 我用的是Tomcat7。
在AWS认知用户池中,我们需要设置SMS配置: http://docs.aws.amazon.com/cognito-user-identity-pools/latest/apireference/api_smsconfigurationtype.html 什么是SMSCallerARN和ExternalID?如何配置它们?
问题内容: 在我的django项目的文件中,我有这行: 但是我想让我的应用在UTC + 2时区运行,所以我将其更改为 它给出了错误。正确的做法是什么? 谢谢! 问题答案: 以下是有效时区的列表: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones 您可以使用 适用于UTC + 02:00
问题内容: 我正在使用codeigniter在php项目中。请告诉我为php和mysql设置时区的全局方法是什么。我可以在哪个文件中进行设置。我想将其设置为不包含php.ini和.htaccess文件。 目前我在每次输入之前都在使用它-: 问题答案: 将其放置在基本网址上方的config.php上也可以 PHP 支持的时区列表 application / config.php 我发现使用满的另一种
我注释了setIntTag(String),但Jaxb marchaller调用setIntTag(Integer)并将Integer传递给它,如果我删除setIntTag(Integer),marchaller调用字符串setter。 如何注释这些方法以保留两个setter,并告诉编组程序使用字符串setter?