我有方案,如:如何跳過黃瓜步驟?
- 鑑於我去這個頁面
- 當我鍵入黃瓜
- 我點擊
- 然後,我應該看到的文字
- 我不應該看到該行
如果我運行這個場景它將執行所有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