2012-07-23 9 views
5

मैं इस कोड है के लिए: 'rspec - कैसे मैं "pendings" प्राप्त कर सकते हैं अपने पाठ और केवल "कोई कारण नहीं दिया"

context "Visiting the users #index page." do 
    before(:each) { visit users_path } 
    subject { page } 
    pending('iii') { should have_no_css('table#users') }  
    pending { should have content('You have reached this page due to a permiss 

आयनों त्रुटि)}

यह एक जोड़े में जो परिणाम पेंडिंग्स, उदाहरण के लिए

Managing Users Given a practitioner logged in. Visiting the users #index page. 
# No reason given 
# ./spec/requests/role_users_spec.rb:78 
Managing Users Given a practitioner logged in. Visiting the users #index page. 
# No reason given 
# ./spec/requests/role_users_spec.rb:79 

कैसे मैं उन pendings

मैं लंबित शब्द के बाद और ब्लॉक से पहले कुछ पाठ डाल की कोशिश की है, लेकिन वह मदद नहीं की "नहीं दिया कारण" के बजाय पाठ के लिए प्राप्त कर सकते हैं - यह लाइन के अंत में दिखाई दिया - लेकिन मेरे पास अभी भी "कोई कारण नहीं दिया गया है"।

उत्तर

10

pending अपने आप में एक तरीका है, और सामान्य उपयोग के मामले कुछ इस तरह है:

it "should say yo" do 
    pending "that's right, yo" 
    subject.yo!.should eq("yo!") 
    end 

कि उत्पादन

Pending: 
    Yo should say yo 
    # that's right, yo 
    # ./yo.rb:8 

इसलिए, जब आप

की तरह, संक्षिप्त रूप का उपयोग करना चाहते
its(:yo!) {should eq("yo!") } 

फिर लंबित के रूप में चिह्नित करने के लिए आपके पास कुछ विकल्प हैं:

xits(:you!) {should eq("yo!") } 
pending(:you!) {should eq("yo!")} 

लेकिन संदेश के पास लंबित प्राप्त करने के लिए, आपको क्या करना चाहिए:

its(:yo!) {pending "waiting on client"; should eq("yo!") } 

कि तुम उत्पादन

Yo yo! 
    # waiting for client 
    # ./yo.rb:16 
दे देंगे