使用Jest测试时,如何正确设置本地货币?

时间:2018-09-18 19:19:19

标签: javascript unit-testing testing internationalization jestjs

在Jest中测试IntL金钱转换时,我没有得到正确的转换。

我的测试:

expect(new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(50.00)).toBe('R$ 50,00');
// Expected value to be:
// "R$ 50,00"
// Received:
// "R$ 50.00"

我的命令:

jest --config test/unit/jest.conf.js

如何为Jest设置正确的语言环境配置?

2 个答案:

答案 0 :(得分:1)

这里的挑战是设置Node.js i18n,Jest基于Node.js。

因此,对于official Node.js documentation,我们必须设置full-icu参数。

npm install full-icu
NODE_ICU_DATA=node_modules/full-icu jest --config jest.conf.js

现在测试正确了。

答案 1 :(得分:0)

可能在巴西使用逗号符号,来分隔十进制数字。代替点号.。 这是指向世界地图的链接,该链接指示哪个国家/地区使用哪个小数位指示器。 http://www.statisticalconsultants.co.nz/blog/how-the-world-separates-its-decimals.html