Javascript Jest v22.0.6始终将process.env数组转换为字符串
我目前正在使用Thread 1.3.2,并试图从jest 22.0.5迁移到最新版本,但我确实在v22.0.6中发现了一个问题 这是我们非常简单的jest.config.js 这是一个更简单的setup.js,我们用来调试这个问题Javascript Jest v22.0.6始终将process.env数组转换为字符串,javascript,reactjs,testing,tostring,jestjs,Javascript,Reactjs,Testing,Tostring,Jestjs,我目前正在使用Thread 1.3.2,并试图从jest 22.0.5迁移到最新版本,但我确实在v22.0.6中发现了一个问题 这是我们非常简单的jest.config.js 这是一个更简单的setup.js,我们用来调试这个问题 const array = ['en', 'fr'] process.env.ARRAY = array console.log('process.env.ARRAY', process.env.ARRAY) 在我们的一个测试中,我们循环一个process.env数
const array = ['en', 'fr']
process.env.ARRAY = array
console.log('process.env.ARRAY', process.env.ARRAY)
在我们的一个测试中,我们循环一个process.env数组,这是我们的输出
22.0.5
console.log tools/test/setup.js:3
process.env.ARRAY ['en', 'fr']
22.0.6
console.log tools/test/setup.js:3
process.env.ARRAY en,fr
似乎每个process.env数组都要使用toString进行转换,这不是Jest特有的,只是process.env在Node.js中的工作方式 引自: 在process.env上指定属性将隐式地将值转换为字符串 因此,当您将数组['en','fr']分配给process.env.array时,它将转换为字符串en,fr 如果需要将此字符串转换回代码中其他位置的数组,可以使用:
谢谢但我确信我只有在那个版本的玩笑中才会遇到这个问题。早期版本或应用程序内部没有问题。
console.log tools/test/setup.js:3
process.env.ARRAY en,fr
const array = process.env.ARRAY.split(',');