我一直在尝试弄清楚如何在运行 Cypress 组件测试时指定使用哪个 .env 文件一段时间,但似乎无法弄清楚或在网上找到任何有关它的信息。
我注意到,当您在 Cypress 中安装组件并运行一些组件测试时,该组件默认会从 .env
文件中获取 process.env
变量。但是,我希望 Cypress 从我的 .env.test
文件中获取 process.env
变量。有谁知道如何指定您的组件在运行组件测试时应从哪个 .env 文件获取 process.env 变量?
我目前只是从我的 package.json
文件 "test-e2e": "cypress open"
运行以下命令。这将打开 Cypress 测试运行程序,我可以在其中选择“组件测试”,然后选择一个规范文件来运行测试。有问题的组件使用了一些 process.env
变量,我可以看到这些变量是从 .env
文件中获取的,这似乎是默认的。我找不到任何可以添加到 npm 命令中的标志来告诉 Cypress 从 .env.test
文件中获取它们。
任何帮助将不胜感激!
最佳答案
你想要做类似这个答案 How can I get Vite env variables 的事情.
请注意,配置的 .env
部分位于组件或 e2e 部分之外(两者共有)。
const { defineConfig } = require("cypress");
const dotenv = require('dotenv')
const env = dotenv.config('./.env.test').parsed
module.exports = defineConfig({
'component': {
// component config here
},
env: {
login_url: '/login',
...env, // merge here with spread operator
},
});
关于javascript - 如何指定 Cypress 组件测试中使用哪个 .env 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75450760/