2011-12-13 9 views
62

में एक ब्लॉक और एक निर्दिष्ट ब्लॉक के बीच अंतर यह ब्लॉक ब्लॉक और आरएसपीईसी में एक निर्दिष्ट ब्लॉक के बीच क्या अंतर है?आरएसपीसी

subject { MovieList.add_new(10) } 

specify { subject.should have(10).items } 
it { subject.track_number.should == 10} 

वे एक ही काम करते हैं। बस सुनिश्चित करने के लिए जाँच कर रहा है।

उत्तर

85

विधियां the same हैं; उन्हें आपके परीक्षण के शरीर के आधार पर अंग्रेजी निसर में चश्मा पढ़ने के लिए प्रदान किया जाता है। इन दो पर विचार करें:

describe Array do 
    describe "with 3 items" do 
    before { @arr = [1, 2, 3] } 

    specify { @arr.should_not be_empty } 
    specify { @arr.count.should eq(3) } 
    end 
end 

describe Array do 
    describe "with 3 items" do 
    subject { [1, 2, 3] } 

    it { should_not be_empty } 
    its(:count) { should eq(3) } 
    end 
end 
+6

आप सही हैं, ब्रैंडन, 'यह' और 'निर्दिष्ट' समान तरीके हैं। आप देख सकते हैं कि उन्हें कहां परिभाषित किया गया है [यहां स्रोत में] (https://github.com/rspec/rspec-core/blob/master/lib/rspec/core/example_group.rb#L53-67)। –

+1

उत्कृष्ट पकड़! आश्चर्यजनक है कि आप स्रोत पढ़ने से क्या पा सकते हैं। :) मैं जवाब अपडेट कर दूंगा। –

+2

यहां दिसम्बर 2013 तक उदाहरण विधियों के नामों के साथ एक सारांश है: https://gist.github.com/Dorian/7893586 (उदाहरण, यह, निर्दिष्ट, फोकस, ...) – Dorian