2012-07-11 3 views
13

मेरे पास एक RSpec परीक्षण है जो विफल रहता है।लिंक अस्तित्व के बावजूद RSpec में_link विफल होना चाहिए

subject { page } 
visit user_path(user) 
it { should have_link('Settings', href: edit_user_path(user)) } 

लेकिन जब मैं स्वयं पेज लोड करता हूं तो मैं देख सकता हूं कि लिंक अच्छी तरह से काम कर रहा है। कोई विचार ? कोई वर्तनी गलती भी नहीं।

उस पृष्ठ को देखना संभव है जो आरएसपीसी परीक्षण में लोड हो गया है?

उत्तर

15

आपका visit user_path(user) सही संदर्भ में निष्पादित नहीं कर रहा है।

या तो प्रयास करें:

subject { page } 
it do 
    visit user_path(user) 
    should have_link('Settings', href: edit_user_path(user)) 
end 

या:

subject { page } 
before { visit user_path(user) } 
it { should have_link('Settings', href: edit_user_path(user)) } 

आप html देखना चाहेंगे, तो आप एक save_and_open_page कथन का उपयोग कर सकते हैं।