我有一个依赖于环境变量的应用程序,例如:
const APP_PORT = process.env.APP_PORT || 8080;
我想测试一下,例如:
- APP_PORT 可以由 Node.js 环境变量设置。
- 或者 Express.js 应用程序正在使用
process.env.APP_PORT
设置的端口上运行
我怎样才能用 Jest 做到这一点?我可以在每次测试之前设置这些 process.env
变量还是应该以某种方式模拟它?
原文由 Tomasz Mularczyk 发布,翻译遵循 CC BY-SA 4.0 许可协议
我这样做的方式 可以在这个 Stack Overflow question 中找到。
重要的是在每次测试之前使用 resetModules ,然后在测试中动态导入模块:
如果您在运行 Jest 之前寻找一种加载环境值的方法,请查看以下 答案。您应该为此使用 setupFiles 。