Где/как включить вспомогательные методы для тестов интеграции capybara
Я использую capybara для моих тестов интеграции/приёма. Они находятся в папке /spec/requests/
. Теперь у меня есть несколько вспомогательных методов, которые я использую во время приемочных испытаний. Одним из примеров является register_user
, который выглядит так:
def register_user(user)
visit home_page
fill_in 'user_name', :with => user.username
fill_in 'password', :with => user.password
click_button 'sign_up_button'
end
Я хочу использовать этот метод в нескольких различных приемочных тестах (они находятся в разных файлах). Какой лучший способ включить это? Я пробовал поместить его в spec/support/
, но он не работал у меня. Проведя некоторое время на этом, я понял, что даже не знаю, хорошо ли это сделать, поэтому я решил, что попрошу здесь.
Примечание. Я использую рельсы 3, spork и rspec.
Ответы
Ответ 1
Поместите помощника в папку spec/support и сделайте что-то вроде этого:
Спецификация/поддержка/:
module YourHelper
def register_user(user)
visit home_page
fill_in 'user_name', :with => user.username
fill_in 'password', :with => user.password
click_button 'sign_up_button'
end
end
RSpec.configure do |config|
config.include YourHelper, :type => :request
end
Ответ 2
Я использовал данное решение @VasiliyErmolovich, но я изменил тип, чтобы заставить его работать:
config.include YourHelper, :type => :feature