Если это действительно просто вопрос высыхания звонков на visit login_path
я просто оставить их быть, так как они четко и кратко, как они стоят, и вы (вероятно) не собирается потребность изменить логин помощник пути.
Однако, если вы начинаете видеть немного более сложные шаги, как это,
# in features/step_definitions/profile_steps.rb
When /^I go to my profile$/ do
visit user_path(@current_user)
end
рассмотреть вопрос об использовании paths.rb
модели:
# in features/step_definitions/common_steps.rb
Given /^I go to (.+)$/ do |page_name|
visit path_to(page_name)
end
# in features/support/paths.rb
module NavigationHelpers
def path_to(page_name)
when /my profile/
user_path(@current_user)
...
end
end
World(NavigationHelpers)
Это верно, я люблю paths.rb
и selectors.rb
и скопировать их в новые проекты :) Я рад видеть, что «кухонная раковина» web_steps.rb
пойти хотя. Примеры использования файлов поддержки: https://github.com/coshx/green-eggs/blob/master/features/support
Как вы знаете, чтобы поместить его в модуль под названием «NavigationHelpers»? Это произвольно? –
Упс, имя произвольное, но вам нужно включить модуль, используя метод «Мир». Я обновил ответ, чтобы показать это. –
Это работает, спасибо! Нашли это хорошее объяснение в документах о World() https://github.com/cucumber/cucumber/wiki/A-Whole-New-World –