【发布时间】:2017-07-14 08:49:39
【问题描述】:
我有一个 Jest 测试来检查包含货币的输入字段的值。该数字使用 global.Intl.NumberFormat 进行格式化,如下所示:
const formatter = new global.Intl.NumberFormat(locale, config);
其中 locale 设置为 nl-NL 且 config 为
{ style: 'decimal',
currency: 'EUR',
minimumFractionDigits: 2,
maximumFractionDigits: 2 }
当我在测试中模拟输入时,我得到了数字的美国格式,即使在我的浏览器中它工作得很好。 例如,如果我这样做
input.simulate('change', { target: { value: '5000' } });
我会得到“5,000.00”格式,而对于欧元,我应该得到“5.000,00”。 它进行格式化,但不适用于正确的语言环境。 我想知道 Jest 是否在为我嘲笑某些东西,如果是这样,我该如何关闭它?任何线索将不胜感激。
【问题讨论】:
-
如果您在测试设置中使用 Karma 或 PhantomJS,您可能需要使用 npmjs.com/package/karma-intl-shim 之类的东西来修补 Intl 支持?
-
我正在使用酶,所以如果我使用 react-intl 进行全球化,我可以使用酶反应国际。我会考虑这样做。谢谢指点!
标签: reactjs unit-testing jestjs