Как я могу сделать Capybara использовать помощники маршрутизации
-
08-10-2019 - |
Вопрос
Я использую Rails 3, Steak & Capybara. У меня есть редкие ресурсы, возможно ли использовать помощники маршрутизации, доступные для просмотров и контроллеров?
Решение
Вам просто нужно поставить это на ваш 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
Другие советы
Я изменил это к этому, чтобы он работал с рельсами 4.1.6:
config.include Rails.application.routes.url_helpers if defined? Rails
Не связан с StackOverflow