2012-05-18 14 views
11

यदि मेरे पास व्यू फ़ाइल में <%= link_to "Help", help_path %> जैसा कुछ है, तो मैं rspec का उपयोग करके निम्न का परीक्षण कैसे करूं?rspec का उपयोग कर लिंक का परीक्षण?

  1. यह help_path पर जाता है।
  2. सामग्री "सहायता" पढ़ती है।

मैं वर्तमान में कैपिबरा का उपयोग कर रहा हूं।


संपादित

जवाब नीचे काम कर सकते हैं, मुझे लगता है कि मैं ऐसा करने का एक सरल रास्ता मिल गया।

describe "some link on whatever page" do 
    subject { page } 
    before { visit whatever_path } 
    it { should have_link('Help', href: help_path) } 
end 

उत्तर

4

आप capybara का उपयोग कर रहे हैं तो

my_link = find(:css, "a:contains('Help')") 
my_link.click 

and get page status, should be 200 or simply check 


my_link.href 

लेकिन यह भी आप बस मार्गों चश्मा अपने एकीकरण चश्मा के लिए rspec में जोड़ सकते हैं। यह हमेशा सुनिश्चित करने के लिए की तरह इस मार्गों मौजूद एक capybara cheatsheet की

describe HelpController do 

    it "should have proper routes" do 
    {:get => "/halp/772/parser/18/edit" }.should be_routable 
    {:post => "/halp/772/parser" }.should be_routable 
    {:delete => "/halp/772/parser/18" }.should be_routable   
    end 

end 
3

उपयोग:

require 'spec_helper' 

feature "Help" do 
    scenario "creation" do 
    visit help_path       # access your help path 
    page.should have_content("Help")  # verify content 
    end 
end 

आप Capybara साथ परीक्षण के साथ कुछ मदद की जरूरत है तुम यहाँ कुछ मिल सकता है । Here एक चीटशीट है।

response.should have_tag("a[href$=#{help_path}]", :text => "Help") 

पीएस क्या आपने rails guides पढ़ा था?

+3

have_tag अब वैध नहीं है। चीटशीट लिंक मर चुका है। have_selector शायद निकटतम प्रतिस्थापन है। http://guides.rubyonrails.org/testing.html#testing-views – IAmNaN

संबंधित मुद्दे