Cucumber 如何跳过黄瓜步骤?
我有这样的场景:Cucumber 如何跳过黄瓜步骤?,cucumber,Cucumber,我有这样的场景: 假设我进入这一页 当我打字的时候 我点击 然后我应该看看课文 我不应该看到那条线 如果我运行这个场景,它将执行所有5个步骤。但是我想跳过第四步(然后我应该看到文本),然后执行第五步 请给我你的建议。提前感谢。:) TL;博士-不要这样做-你(可能)弄错了。而你不能(轻易)做到这一点。正如Aslak(黄瓜的主要创作者之一)所写: 一个步骤可以产生以下结果: 未定义(没有匹配的stepdef) pending(引发PendingException的匹配stepdef) 通过(不抛
请给我你的建议。提前感谢。:) TL;博士-不要这样做-你(可能)弄错了。而你不能(轻易)做到这一点。正如Aslak(黄瓜的主要创作者之一)所写: 一个步骤可以产生以下结果:
- 未定义(没有匹配的stepdef)
- pending(引发PendingException的匹配stepdef)
- 通过(不抛出任何内容的匹配stepdef)
- 失败(匹配的stepdef引发的异常不是PendingException)
- 跳过(引发任何异常(未定义、挂起或失败)的步骤之后的步骤)
整个讨论都在这里:我不得不根据环境有条件地跳过步骤。我使用
next
跳过步骤。下面是一个关于如何做你想做的事情的例子
Then /^I should see the text/$ do
next if @environment == 'no text'
...
<The actual step definition>
...
end
然后/^我应该看到文本/$do
下一步如果@environment==“无文本”
...
...
结束
我同意@Ernest下面的回答;您所问的似乎是Cucumber的一个错误用例。很想知道你为什么想要这个功能。谢谢你的回复:-)我需要在我的项目中使用这个功能。我如何处理这些场景?给我你的建议。我不知道“待定”,这很有帮助。谢谢。你能详细说明一下吗?比如,我们可以通过在“”部分中对其进行定义来更进一步吗?我们如何定义它?“下一步”跳过下面的所有内容,它有点像“返回”,可能也会起作用。按照通常的方式编写步骤,但在步骤的第一行,使用上面的“如果”语句,如果您不想运行下面的代码,就不要运行下面的代码。我不明白,当我键入next if
likeInvalid next(SyntaxError)
我已经好几年没有使用cucumber了。如果next有新语法,请告诉我。一般来说,你能在一个步骤中调用next
?