都是来自process.env的。"/>
在测试中,所有自定义的变量都是来自process.env的。
该 dotenv 8.2
安装在我的 nodejs 12.15
应用程序。的.env
文件位于 app_root/config/
和 dotenv
在应用程序中是必须的 index.js
文件。
require("dotenv").config(path: __dirname+"/config/.env");
在应用的根目录下使用 "node index.js "时,应用运行良好。然而,当使用 jest 25.0
在应用根目录下 npm test
, db连接抛出错误,因为它调用了 process.env.DB_PASSWORD
的密码,但没有返回任何内容。当 console.log process.env
在测试环境中,我注意到自定义定义的变量完全消失了。如何恢复所有在测试环境中丢失的自定义变量?
似乎当Jest运行时,它并不包括你的 "dotenv".config(路径:__dirname+"config...")。index.js
,其中 dotenv
变量是必须的。
使用.env变量运行jest的选项不多。
// npm run script
{
"scripts": {
"test": "jest --setupFiles dotenv/config"
}
}
// jest.config.js
module.exports = {
setupFiles: ["dotenv/config"],
}
// jest in package.json
{
"name": "my-package",
"jest": {
"setupFiles": ["dotenv/config"]
}
}
更多推荐
在测试中,所有自定义的变量都是来自process.env的。
发布评论