การทดสอบ 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 เป็นตัวแปรหรือวิธีการภายในเครื่องที่ไม่ได้กำหนด"

ฉันใช้ capybara 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