2011-10-01 49 views
2

我正在用叉子使用黄瓜。我非常喜欢Rspec上的run_all_when_everything_filtered。如果没有匹配的标签,它将运行所有规格。我可以用黄瓜做这个吗?例如在我的自动测试配置文件中,我指定了--tags @wip,但是如果没有匹配的标签,它将运行所有场景如何使黄瓜运行所有功能,如果没有匹配的标签

+0

您能否澄清 - 您希望能够指定一个标签,例如'@ wip',并让它运行标记为这样的场景,但是如果它发生在整个suite_中的_no场景有'@ wip'标签,那么它会运行一切? –

+0

是的,这是正确的 – ahmy

回答

2

我敢肯定,黄瓜不支持这本地。如果您使用Guard来运行这些,您可能会通过调用脚本或自定义rake任务而不是直接调用Cucumber来获得您所需的行为。

它应该是相当琐碎写一个脚本或耙任务调用黄瓜与-t @wip参数,然后检查是否输出包含“0的情况”,如果这样的话没有-t争论再次运行黄瓜,到执行整个套件。

1

如果您知道标签的名称,则可以使用“〜” “在标签之前。那是--tags [email protected]

这是什么意思,是你指定给黄瓜的标签,可以是一个布尔表达式。

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

我鼓励您运行cucumber -h并签出选项--tags,以查看更多信息。

+0

我对标签选项非常熟悉,但我使用了后卫,所以基本上它是在cucumber.yml中指定的。但切换到使用标签意味着我必须手动编辑它。这就是我现在正在做的事情,rspec在指定'标记'时有这个功能,但没有标记,它运行所有的规范(就像它忽略了标记)。我想知道黄瓜是否有这个功能。 – ahmy

相关问题