特定の機能(「login.feature」など)が実行されているときに、login_steps.rbのみをWebステップにロードするようにcucumberを変更したいと思います。他のステップファイルはロードしないでください。
IMOこれは、同じ手順を実行するのに非常に便利ですが、実行される機能の名前とはそれに応じて実装作業が異なります。
私にはほぼ100のシナリオがあり、ステップが高レベルのステップである場合、これは理にかなっていると思います。
何か案は?
特定の機能(「login.feature」など)が実行されているときに、login_steps.rbのみをWebステップにロードするようにcucumberを変更したいと思います。他のステップファイルはロードしないでください。
IMOこれは、同じ手順を実行するのに非常に便利ですが、実行される機能の名前とはそれに応じて実装作業が異なります。
私にはほぼ100のシナリオがあり、ステップが高レベルのステップである場合、これは理にかなっていると思います。
何か案は?
現在、これを達成する唯一の方法 (cucumber 自体にパッチを適用する以外) は、各機能を独自の env.rb ファイルと step_definitions ディレクトリを持つ個別のディレクトリ ツリーに配置することです。
詳細については、メーリング リストのこの投稿を参照してください。
Cellophane gemを使用して、このようなことを達成できるかもしれません。ネストされたステップ定義をサポートし、共有ステップの検索をオフにすることができます。これであなたが望む場所にたどり着くことができるかどうかはわかりませんが、セロファンを変更してあなたが探しているものを手に入れることができれば、開発者は非常に反応が良いことがわかりました.
ここにあなたのためのサンプルコードがあります、
.feature ファイル
Scenario: Some description of the scenario
Given [some context]
When [some event]
Then [outcome]
.rb (Ruby でのステップ定義)
Given /^[some context]$/ do
// code module
// code module
end
[some context]
このステップ定義は、機能ファイルに来るたびに実行されます。言う、
Given [some context]
When [some context]
Then [some context]
And [some context]
同じ操作で実行されます。つまり、Given、When、Then、および And は一般的なものです。