如何使用 Jest 模拟环境变量
如果你使用 Jest 作为 Node.js 应用程序的可靠测试框架,你很可能会遇到这样的情况:你正在测试的代码使用了通过以下方式访问的环境变量process.env。
最简单的方法是创建一个名为 `.env` 的文件setEnvVars.js,并在其中填充所需的环境变量,例如:
// .jest/setEnvVars.js
process.env.SOME_VAR = 'something';
process.env.SECRET = 'shh-do-not-tell-to-anyone';
// etc...
我认为一个好的做法是将此文件放在一个.jest文件夹下,这样我们就知道该文件夹内的所有内容都与 Jest 相关。
为了更清楚地说明,你的文件结构应该类似于这样:
|-- .jest
| `-- setEnvVars.js
|-- jest.config.js
|-- package-lock.json
|-- package.json
|-- server.js
接下来需要设置的是更新你的程序jest.config.js,并告诉它使用该文件:
// jest.config.js
module.exports = {
setupFiles: ['<rootDir>/.jest/setEnvVars.js'],
// ... other configurations
};
就这样!现在运行测试时,代码就可以访问这些模拟环境变量了。
文章来源:https://dev.to/darkmavis1980/how-to-mock-environmental-variables-with-jest-2j3c