【问题标题】:How to make cucumber run all feature if no matching tag如果没有匹配的标签,如何让黄瓜运行所有功能
【发布时间】:2011-10-01 01:14:29
【问题描述】:

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

【问题讨论】:

  • 您能否澄清一下 - 您希望能够指定诸如 @wip 之类的标签,并让它运行这些标签为此类的场景,但如果发生 您的整个场景中没有场景套件有一个@wip标签,那么它会运行一切吗?

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    这意味着,你为 cucumber 指定的标签,可以是一个布尔表达式。

    • 标签前的“~”选项代表NOT
    • 如果你写--tags @wip1,@wip2,你可以指定OR
    • 您可以通过多次写入 --tags 选项来指定 AND

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

    【讨论】:

    • 我对标签选项非常熟悉,但我使用了保护,所以基本上它在 cucumber.yml 中指定。但是切换到使用标签意味着我必须手动编辑它。这就是我现在正在做的事情,当指定“标签”时,rspec 具有此功能,但没有标签,它运行所有规范(就像它忽略标签一样)。不知道黄瓜有没有这个功能。
    猜你喜欢
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    相关资源
    最近更新 更多