我目前正在使用yarn 1.3.2并尝试从jest 22.0.5迁移到最新版本,但我确实从v22.0.6发现了问题
这是我们非常简单的jest.config.js
module.exports = {
setupFiles: ['./tools/test/setup.js']
}
这是我们用来调试此问题的更简单setup.js
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
似乎要使用toString()
答案 0 :(得分:1)
这不是Jest特有的,它只是process.env
在Node.js中的工作方式。
在process.env上分配属性会隐式地将值转换为字符串。
因此,当您将数组['en', 'fr']
分配给process.env.ARRAY
时,它会转换为字符串en,fr
。
如果您需要将此字符串转换回代码中其他位置的数组,则可以使用split:
const array = process.env.ARRAY.split(',');