Подтвердить что ты не робот

Где/как включить вспомогательные методы для тестов интеграции 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.

4b9b3361

Ответ 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