2

一直在寻找,没有找到任何可以回答我问题的东西。

我有一个简单的 Cucumber.js 项目,试图实现配置文件,就像您可以在 cucumber.yml 文件下的 ruby​​ 中执行的操作一样,但无法真正找到如何在 Cucumber.js 中执行此操作

抱歉没有关于该问题的具体信息,

提前致谢

4

2 回答 2

1

在撰写本文时,尽管CucumberJS GitHub 页面有一个名为 Profiles 的部分,但这个问题是 Google 对“cucumberjs profile”的排名第一的结果。

为了存储和重用常用的 CLI 选项,您可以将 cucumber.js 文件添加到项目根目录。该文件应导出一个对象,其中键是配置文件名称,值是 CLI 选项字符串。可以使用 -p 或 --profile 应用配置文件。这会将配置文件的 CLI 选项添加到命令行提供的选项之前。一次可以指定多个配置文件。如果未指定配置文件并且存在名为 default 的配置文件,则将应用它。

我只是用以下方法尝试过,它似乎有效:@full-user当我创建上述cucumber.js内容并用它填充时,我看不到任何标记的测试结果:

module.exports = {
    "delayed-user" : "--tags=@delayed-user --tags ~@full-user"
};
于 2016-04-26T13:43:43.350 回答
0

一个通用的解决方案是使用 Node 的process.env

显然有很多方法可以做到这一点,您可以根据自己的需要进行调整。这是我将所有配置文件放入 JSON 文件的方式,如果在运行 cucumber 时未指定任何配置文件,则还支持默认配置文件。

将您的个人资料保存在文件中config.json

{
  "default": {
    "foo": "this is the default profile",
    "bar": 1
  },
  "profile1": {
    "foo": "this is profile 1",
    "bar": 2
  },
  "profile2": {
    "foo": "this is profile 2",
    "bar": 3
  }
} 

在测试中要求并使用配置

var config = require('./config.json')[process.env.PROFILE || 'default'];

console.log(config.foo);
console.log('value of bar: ' + config.bar);

然后在从命令行运行 cucumber.js 时选择一个配置文件

使用配置文件 1 运行

PROFILE=profile1 cucumber.js

或配置文件2

PROFILE=profile2 cucumber.js

或默认配置文件

cucumber.js

注意这个答案给了我这样做的想法。

于 2015-03-07T21:09:08.187 回答