2012-05-15 2 views
1

Поскольку файл paths.env не генерируется для Cucumber 1.1+, если, например, если я часто использую visit login_path для своих тестовых шагов, должен ли я создать для него отдельный шаг или я должен просто использовать visit login_path везде? Если он когда-либо изменится, я могу легко заменить строку в каталоге функций.Где вы размещаете свои пути в Cucumber 1.1+ для Ruby on Rails?

Спасибо!

ответ

0

Если это действительно просто вопрос высыхания звонков на 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

+0

Как вы знаете, чтобы поместить его в модуль под названием «NavigationHelpers»? Это произвольно? –

+0

Упс, имя произвольное, но вам нужно включить модуль, используя метод «Мир». Я обновил ответ, чтобы показать это. –

+0

Это работает, спасибо! Нашли это хорошее объяснение в документах о World() https://github.com/cucumber/cucumber/wiki/A-Whole-New-World –

Смежные вопросы