ฉันกำหนดเส้นทางที่กำหนดเองซึ่งใช้งานได้ในแอป แต่ไม่อยู่ใน 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