首页 > 解决方案 > 如何设置环境变量以及如何将环境变量作为参数传递

问题描述

在 package.json 文件中,我在脚本下有一些任务列表

"scripts": {
    "test:smoketest":"cucumber-js --format json:./reports/cucumber-json-report.json --tags '@Smoke_Test'",
    "test:regressiontest":"cucumber-js --format json:./reports/cucumber-json-report.json --tags '@Regression_Test'",
    "test:UI":"cucumber-js --format json:./reports/cucumber-json-report.json --tags '@UI'"
  },

我将使用命令执行脚本 例如: npm run test:smoketest(npm run test:testname) 我想在函数中传递这个测试名称来检查 if 条件

测试.js

async function(){
if(testname=="UI"){
some tasks need to be done
}
else{
some task need to be done
}

谁能帮帮我吗。提前致谢

标签: node.jscucumberjs

解决方案


在终端中创建运行时环境变量的步骤

  1. 首先我们需要安装命令npm install dotenv --save-dev。此命令将在您的节点模块文件夹中安装 dotenv 模块。

  2. 为了在运行时(执行期间)设置环境变量,我们需要执行命令

    type=<type name> npm run test:<test name>

例如:type=Uitest npm run test:UI

此命令将在执行 UI 测试时创建一个值为 Uitest 的运行时变量类型

将此环境变量作为参数传递给 test.js 文件

async function(){
if(process.env.type=="Uitest"){
some tasks need to be done
}
else if(process.env.type!="Uitest"){
some task need to be done
}
else{
some task need to be done
}

-----当环境变量为 Uitest 类型时执行代码时,将执行 if 下的代码集。当环境变量不是 Uitest 类型时,else if 下的代码集将被执行。当在运行时没有设置环境变量时

例如:npm 运行测试:UI

然后 else 中的代码集将被执行。谢谢


推荐阅读