Jest 不加载环境变量(即使使用 --setupFiles dotenv/config)

Jest doesn't load environment variables (even with --setupFiles dotenv/config)

我正在为我的 Express 项目编写测试,但是当我 运行 测试脚本时,我的环境变量没有加载。

在其他帖子中,人们建议使用 --setupFiles dotenv/config,我也这样做了,但不幸的是它没有用。我尝试将它添加到我的测试脚本和 jest.config.js 文件中,但 none 有效。有人对如何解决此问题有任何提示吗?

上下文

这就是我在 package.json 上设置 jest 的方式:

"scripts": {
    "test": "jest --watchAll --setupFiles dotenv/config"
  },
"jest": {
    "testEnvironment": "node"
},

在我的 app.js 文件的顶部,我加载了我的环境变量 require('dotenv').config();

这是我的文件夹结构:

看看这个 project. It uses both cross-env and dotenv 将环境变量传递给 Express:

cross-env NODE_ENV=production node -r dotenv/config ./build/srv/main.js

或者兄弟 project 仅使用交叉环境。

披露:我是上述 'crisp' 项目的作者。

通过将 .env 文件从 src/ 文件夹移动到根文件夹来修复它。