Это может быть «нарушение», но я бы объединить ответы от Уитни Imura и Dave W только, чтобы сделать ответ более ясным ...
Вы спрашиваете:
«Требуется ли установить все шаги определения сценария в том же файле?»
No. Вы можете разместить свои определения шага в логически различных файлов в различных папках, как вы считаете нужным (пример ниже). В конце концов, это всего лишь код ruby.
По существу Ваша команда корректна для выполнения индивидуальной функции, которая имеет шаг определения в различных других папках ...
cucumber -r features features\entities\entity.feature
Если вы не запустить его, как указано выше, вы получите не хватает stepdefs ... Вот выполнения тестов на текущем проекте в качестве средства для демонстрации:
cucumber
60 scenarios (14 undefined, 46 passed)
409 steps (32 skipped, 26 undefined, 351 passed)
cucumber -r features
60 scenarios (60 passed)
409 steps (409 passed)
как описано в Cucumber documentation, вы можете организовать тесты номера вашего л ogical поломка ваших возможностей:
|__ features
| |__ entities
| | |__ entity.feature
| | |__ step_definitions
| | |__ anything.rb
| | |__ entity_steps.rb
| |__ locations
| | |__ location.feature
| | |__ step_definitions
| | |__location_steps.rb
| |__ sites
| | |__ step_definitions
| |__ step_definitions
| | |__ local_assert_steps.rb
| | |__ local_crud_response_steps.rb
| | |__ local_email_steps.rb
| | |__ local_file_steps.rb
| | |__ local_script_steps.rb
| | |__ local_steps.rb
| | |__ local_web_steps.rb
` | |__ local_xml_file_steps.rb
|__ support
|__ env.rb
|__ local_env.rb
|__ local_transforms.rb
Что произойдет, если вы переместите папку 'step_definitions' внутри папки сценариев? – Bala
все тот же результат – Madhu
У меня это работает. Были некоторые скрытые файлы с тем же именем, что и файлы определения шага. Я просто удалил их. – Madhu