我有方案,如:如何跳过黄瓜步骤?
- 鉴于我去这个页面
- 当我键入黄瓜
- 我点击
- 然后,我应该看到的文字
- 我不应该看到该行
如果我运行这个场景它将执行所有5个步骤。但我想跳过第四步(然后我应该看到文本)并执行第五步。
请给我你的建议。提前致谢。 :)
我有方案,如:如何跳过黄瓜步骤?
如果我运行这个场景它将执行所有5个步骤。但我想跳过第四步(然后我应该看到文本)并执行第五步。
请给我你的建议。提前致谢。 :)
TL; DR - 不要这样做 - 你(可能)弄错了。你不能(容易地)做到这一点。如Aslak写(黄瓜主创造者之一):
甲步骤可以具有如下的结果:
- 未定义(无匹配stepdef)
- 未决(抛出PendingException匹配stepdef)
- 通过(匹配stepdef不会抛出任何东西)
- 失败(匹配stepdef抛出一个不是PendingException的异常)
- 跳过(步下一个工序抛出任何异常(不确定,有待或失败))
什么你问的是一个新的结果 - 被忽略。它可能是 通过抛出IgnoredException实现。这意味着 跳过会被更改为:(一步下一个工序是 抛出任何异常(不确定,有待或失败) - 除非 例外是IgnoredException)
我不知道我喜欢这个。这听起来像它比 需要更复杂。你已经有了必要的信息, 是错误的 - 你的步骤将失败或待定。在继续执行以下步骤中,我看不到 值。您仍然必须 实施失败/暂挂步骤。
只要你提醒的是,“有要在这里完成的作品”我 不认为它wortwhile复杂黄瓜告诉你一种需要的东西的工作 要做......
Aslak
整个讨论是在这里:http://comments.gmane.org/gmane.comp.programming.tools.cucumber/10146
我不知道'等待',这是非常有帮助的。谢谢。 – mvndaai
谢谢老兄,这很有帮助 –
我不得不跳过有条件基于环境的步骤。我使用next
跳过步骤。这里是一个如何做你想要的例子。
Then /^I should see the text/$ do
next if @environment == 'no text'
...
<The actual step definition>
...
end
请您详细说明一下吗?像我们可以通过在“<实际步骤定义>”部分中定义它来进一步移动?我们如何定义它? –
“下一个”会跳过下面的所有内容,它有点像'返回',这也可能起作用。按照您通常的方式编写步骤,但在步骤的第一行中,如果您不想运行下面的代码,则应创建一个如上所述的“if”语句。 – mvndaai
我不知道它,当我输入'next if'时,它会向我输出一个错误,就像'无效的下一个(SyntaxError)' –
我同意@欧内斯特的答案在下面;你似乎要问的是黄瓜的错误用例。很想知道你为什么要这个功能。 –
感谢您的回复:-)我需要这个功能在我的项目中。我怎样才能继续这种情况?给我你的建议。 – NMKP