如何将参数传递给--world-parameters或npm run命令以供软件包中的脚本使用

时间:2019-08-26 06:48:46

标签: javascript npm testcafe cucumberjs npm-scripts

我知道这个问题可能是许多现有问题的重复,但是,我仍然想在我想了解的情况下更精确地寻求帮助:

我在示例中使用this回购,并且package.json中有以下脚本块

我需要从命令行传递一个参数来标识我要测试的环境,例如:

-- testEnv=staging

如何更新以下脚本blcok以适应此更改。

我已经尝试为世界参数设置不同的配置,如下所示:

 --world-parameters \"{\\\"environment\\\": \\\"Dev\\\"}\"

但是现在维护各种版本的世界参数配置令人困惑,因此希望使用命令行来发送变量值。

"scripts": {
             "test-chrome": "./node_modules/.bin/cucumber-js.cmd --tags @Run --format json:./testlab/support/reports/report.json",
}

1 个答案:

答案 0 :(得分:1)

TestCafe允许您使用environment variables,并具有config.json文件来存储baseUrl:

所以,你可以做

export testEnv=staging
npm run test-chrome

然后输入该值作为配置file的一部分。

{
    baseUrl: process.env.testEnv
}

或者,如果您想要默认的baseUrl,则可以有一个仅返回const targetUrl = process.env.testEnv || config.baseUrl的帮助程序类。