Как заставить Capybara использовать помощников маршрутизации

Я использую рельсы 3, Стейк и Капибара. У меня есть резервные ресурсы, можно ли использовать посредники маршрутизации для просмотров и контроллеров?

Ответ 1

Вам просто нужно поместить это на свой spec_helper.rb

config.include Rails.application.routes.url_helpers

внутри блока определения конфигурации, то есть тот, который завернут:

RSpec.configure do |config|
# All your config.include calls go here.
end

И затем вы можете использовать его в своих спецификациях:

scenario "Show school" do
school = School.create!(:name => "Pablo de Olavide")
visit(school_path(school))
save_and_open_page
page.has_content?("Pablo de Olavide").should == true
end

Не использовать:

include ActionController::UrlWrite

Поскольку он устарел в рельсах 3

Ответ 2

Я изменил его на это, чтобы заставить его работать с Rails 4.1.6:

config.include Rails.application.routes.url_helpers if defined? Rails