【问题标题】:How to set Environment Variable and How to pass the environment Variable as a parameter如何设置环境变量以及如何将环境变量作为参数传递
【发布时间】:2021-02-05 08:03:39
【问题描述】:

在 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
}

谁能帮帮我。提前致谢

【问题讨论】:

  • 这取决于。什么操作系统?
  • 它的 Ubuntu .....@slebetman

标签: node.js cucumberjs


【解决方案1】:

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

  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 run test:UI

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

【讨论】:

    【解决方案2】:

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

    使用profiles 更容易做到这一点(这也可能会简化您的 package.json 脚本,或者至少将复杂性转移到您的 cucumber.js 配置中)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-02
      • 2014-09-29
      • 2020-02-14
      • 2019-07-02
      • 1970-01-01
      • 2019-09-02
      • 2011-02-13
      相关资源
      最近更新 更多