JEST V22.0.6始终转换Process.env数组ToString



我目前正在使用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(',');

相关内容

  • 没有找到相关文章

最新更新