gpt4 book ai didi

ruby - 如何在 Cucumber 中使用 "skip"标记场景?

转载 作者:数据小太阳 更新时间:2023-10-29 08:31:50 25 4
gpt4 key购买 nike

我目前有一个项目,其中包含大量 Cucumber .feature 文件,其中许多场景已知已损坏。这些场景用 @broken 标记,我们通过使用 -t ~@broken 执行 cucumber 来避免运行它们。不幸的是,当我们检查 cucumber 输出时,这使得这些场景实际上是不可见的。它们不会显示为通过、失败或跳过。我想要的是将这些场景的数量包含在 cucumber 输出中。它们应该显示为“跳过”测试,而不是根本不显示。

我尝试过的:

Before('@broken') do |scenario|
pending
end

但是这引发了一个 Cucumber::Pending 异常,如果没有被捕获,就会使场景失败。

我知道我可以这样写一个步骤:

Given /^PENDING/ do
pending
end

然后浏览我所有的功能文件,并使用 @broken 标记将此步骤添加到每个场景。不过,这似乎很疯狂。它不符合“步骤”应该是什么的语义(更不用说它需要对我所有的功能文件进行广泛的更改,而不是仅仅向标签添加一个钩子(Hook))。

我只需要一个标签就可以做到这一点吗?

最佳答案

虽然这个问题很老,但它仍然是 Google 的最爱 - 所以为了 future 访问者的利益,我将分享这个问题。

我正在标记我的场景,然后在我的“step_definitions/hooks.rb”文件中,我有这样的东西:

Before('@proxy') do 
skip_this_scenario unless proxy_running?
end

运行时,场景被优雅地跳过。

1 scenario (1 skipped)

关于ruby - 如何在 Cucumber 中使用 "skip"标记场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26048144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com