我目前正在使用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
似乎每个process.env阵列要使用 toString()
这不是开玩笑的特定,这只是 process.env
在node.js。
引用文档:
分配process.env上的属性将隐式将值转换为字符串。
因此,当您将数组['en', 'fr']
分配给process.env.ARRAY
时,它会转换为字符串en,fr
。
如果您需要将此字符串转换回代码中其他地方的数组,则可以使用split:
const array = process.env.ARRAY.split(',');