2014-12-03 70 views
2

一直在寻找一点,并没有找到任何答案我的问题。黄瓜js无法创建配置文件

我有一个简单Cucumber.js项目,试图实现曲线就像你可以在cucumber.yml文件下红宝石做,但真的不能找出如何做到这一点的Cucumber.js

对不起,我对这个问题没有具体的信息,

在此先感谢

回答

0

的一般解决方法是使用节点的process.env

显然有很多方法可以做到这一点,你可以把它适合你的需要。这是我做的方式,它将所有配置文件放入JSON文件中,并且如果在运行黄瓜时没有指定任何配置文件,也支持默认配置文件。

有您的配置文件在文件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 

或者PROFILE2

PROFILE=profile2 cucumber.js 

或者默认的配置文件

cucumber.js 

注意感谢this answer给我做这样的想法。

1

在撰写本文时,这个问题是谷歌对'cucumberjs个人资料'的第一个结果,即使CucumberJS GitHub page有一个标题为“个人资料”的部分。

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

我只是想以下面的,它似乎工作:我看不出有什么结果的测试标签@full-user当我创建上述cucumber.js以及与此填充:

module.exports = { 
    "delayed-user" : "[email protected] --tags [email protected]" 
};