【发布时间】:2015-02-01 07:19:09
【问题描述】:
一直在寻找,但没有找到任何回答我的问题的东西。
我有一个简单的 Cucumber.js 项目,正在尝试实现配置文件,就像您可以在 cucumber.yml 文件下在 ruby 中执行的操作一样,但无法真正了解如何在 Cucumber.js 中执行此操作
抱歉,没有关于该问题的具体信息,
提前致谢
【问题讨论】:
标签: profiles cucumberjs
一直在寻找,但没有找到任何回答我的问题的东西。
我有一个简单的 Cucumber.js 项目,正在尝试实现配置文件,就像您可以在 cucumber.yml 文件下在 ruby 中执行的操作一样,但无法真正了解如何在 Cucumber.js 中执行此操作
抱歉,没有关于该问题的具体信息,
提前致谢
【问题讨论】:
标签: profiles cucumberjs
一般的解决方案是使用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
注意感谢this answer 给了我这样做的想法。
【讨论】:
在撰写本文时,尽管CucumberJS GitHub page 有一个标题为“个人资料”的部分,但这个问题是 Google 的“cucumberjs 个人资料”的第一结果。
为了存储和重用常用的 CLI 选项,您可以将 cucumber.js 文件添加到您的项目根目录。该文件应导出一个对象,其中键是配置文件名称,值是 CLI 选项字符串。可以使用 -p 或 --profile 应用配置文件。这会将配置文件的 CLI 选项添加到命令行提供的选项之前。一次可以指定多个配置文件。如果未指定配置文件并且存在名为 default 的配置文件,则会应用它。
我刚刚尝试了以下方法,它似乎有效:当我创建上述 cucumber.js 并用以下内容填充时,我没有看到标记为 @full-user 的测试结果:
module.exports = {
"delayed-user" : "--tags=@delayed-user --tags ~@full-user"
};
【讨论】: