如何设置环境变量以及如何将环境变量作为参数传递

时间:2021-02-05 08:03:39

标签: node.js cucumberjs

在 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 条件,如

test.js

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

谁能帮帮我。提前致谢

2 个答案:

答案 0 :(得分:0)

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

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

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

    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 下的代码集将被执行。当运行时没有设置环境变量时

<块引用>

eg:npm run test:UI

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

答案 1 :(得分:0)

如果您想在运行时向支持代码提供任意数据,支持的方式是通过 CLI 传入 world parameters

使用 profiles 可以更轻松地完成此操作(这也可能会简化您的 package.json 脚本,或者至少将复杂性转移到您的 Cucumber.js 配置中)。