如果没有匹配的标签,如何使黄瓜运行所有功能

时间:2011-10-01 01:14:29

标签: ruby-on-rails ruby-on-rails-3 rspec cucumber spork

我用叉子黄瓜。我真的很喜欢Rspec上的run_all_when_everything_filtered。如果没有匹配的标记,则运行所有规范。我可以用黄瓜做这个吗在我的自动测试配置文件中,我指定了--tags @wip,但是如果没有匹配的标签,它会运行所有场景

2 个答案:

答案 0 :(得分:2)

我很确定Cucumber本身不支持这种做法。如果你使用Guard来运行它们,你可能会通过调用脚本或自定义rake任务而不是直接调用Cucumber来获得你所追求的行为。

编写脚本或rake任务以使用-t @wip参数调用Cucumber应该是相当简单的,然后检查输出是否包含“0个场景”,如果是,则再次运行Cucumber而不使用{ {1}}参数,执行整个套件。

答案 1 :(得分:1)

如果您知道标签的名称,则可以在标签前指定带有“〜”的标签。那是--tags ~@wip

这意味着,您指定给黄瓜的标记可以是布尔表达式。

  • 标记前的“〜”选项代表NOT
  • 如果您撰写OR,则可以指定--tags @wip1,@wip2
  • 您可以多次编写--tags选项来指定AND

我建议您运行cucumber -h并检查选项--tags,以查看更多信息。