赛普拉斯无法从 process.env 文件中获取变量

Cypress can't get variables from process.env file

我在 cypress 测试中从 process.env 文件获取变量值时遇到问题。我试着按照这个去做:https://docs.cypress.io/guides/guides/environment-variables#Option-5-Plugins 但是当我尝试使用进程环境文件中的变量时出现未定义的错误

我的 index.js 文件:

const { preprocessTypescript } = require('@nrwl/cypress/plugins/preprocessor');
require('dotenv').config();
module.exports = (on, config) => {
  on('file:preprocessor', preprocessTypescript(config));
  
  [
    'DB_USER',
    'DB_PASS',
    'DB_SNOWFLAKE_ACCOUNT',
    'DB_SNOWFLAKE_DATABASE',
    'DB_SNOWFLAKE_ROLE',
    'DB_SNOWFLAKE_SCHEMA',
    'DB_SNOWFLAKE_WAREHOUSE'
  ].forEach(v => {
    config.env[v] = process.env[v];
  });

  return config;
};

process.env 文件(在根文件夹中)

DB_SNOWFLAKE_ACCOUNT=www.xyz.com
DB_USER=xyzxyz
DB_PASS=xyzxyzxyz
DB_SNOWFLAKE_DATABASE=XYZX

和test.spec.ts

  const snowflakeUrl: string = Cypress.env('DB_SNOWFLAKE_ACCOUNT');
  const userName: string = Cypress.env('DB_USER');
  const password: string = Cypress.env('DB_PASS');
  const database: string = Cypress.env('DB_SNOWFLAKE_DATABASE');

文件名应为 .env,这就是 dotenv 的作用。

然后它将环境变量加载到 process.env 对象中。