Тест Rspec - пользовательский путь маршрута не распознается неопределенной локальной переменной/методом rspec

Я определил собственный маршрут, который работает в приложении, но почему-то не в rspec.

/app/config/routes.rb

  get '/signup',   to: 'users#new',             as: :signup

В файле просмотра страницы регистрации есть ссылка «signup_path», и она работает. /app/views/users/new.html.rb

<% provide(:title, 'Sign Up') %>
<h1>Sign Up</h1>
<%= link_to "signup_path", signup_path %>

Но в rspec, используя этот тест

require 'spec_helper'

describe "UserPages -" do

  subject { page }
  let(:base_title) { "Ruby on Rails Tutorial Sample App" }

  describe "Signup Page" do
    before { visit signup_path }

    it { should have_selector('h1', text: 'Sign Up') }
    it { should have_title(full_title('Sign Up')) }
  end

end

результат - неудачный тест, и он говорит

«signup_path — это неопределенная локальная переменная или метод»

Я использую капибару 2.1.0


person ahnbizcad    schedule 31.01.2014    source источник


Ответы (1)


Вы не можете получить доступ к именованному маршруту из своих тестов, если не добавите его в spec_helper.rb

Rspec.configure do |config|
  config.include Rails.application.routes.url_helpers
  ...
end
person usha    schedule 31.01.2014