一直在寻找,没有找到任何可以回答我问题的东西。
我有一个简单的 Cucumber.js 项目,试图实现配置文件,就像您可以在 cucumber.yml 文件下的 ruby 中执行的操作一样,但无法真正找到如何在 Cucumber.js 中执行此操作
抱歉没有关于该问题的具体信息,
提前致谢
一直在寻找,没有找到任何可以回答我问题的东西。
我有一个简单的 Cucumber.js 项目,试图实现配置文件,就像您可以在 cucumber.yml 文件下的 ruby 中执行的操作一样,但无法真正找到如何在 Cucumber.js 中执行此操作
抱歉没有关于该问题的具体信息,
提前致谢
在撰写本文时,尽管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"
};
一个通用的解决方案是使用 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
注意这个答案给了我这样做的想法。