jot*_*ann 0 javascript testing unit-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"Run Code Online (Sandbox Code Playgroud)
我的命令:
jest --config test/unit/jest.conf.js
Run Code Online (Sandbox Code Playgroud)
如何将正确的语言环境配置设置为 Jest?
更新:从版本 13 开始,完整的 ICU 现在带有 Node.js。
原答案:
这里的挑战是设置 Node.js i18n,Jest 是基于 Node.js 的。
因此,在Node.js 官方文档中,我们必须设置 full-icu 参数。
npm install full-icu
NODE_ICU_DATA=node_modules/full-icu jest --config jest.conf.js
Run Code Online (Sandbox Code Playgroud)
现在测试是正确的。