2012-11-25 21 views
42

का उदाहरण है, मुझे यह जांचने का एक तरीका चाहिए कि कोई ऑब्जेक्ट RSpec का उपयोग करके किसी अन्य ऑब्जेक्ट का उदाहरण है या नहीं।आरएसपीसी का उपयोग यह जांचने के लिए कि क्या कोई अन्य ऑब्जेक्ट

describe "new shirt" do 
    it "should be an instance of a Shirt object" 
    # How can i check if it is an instance of a shirt object 
    end 
end 

उत्तर

100

पसंदीदा वाक्य रचना है:

expect(@object).to be_a Shirt 

बड़े वाक्य रचना है:

@object.should be_an_instance_of Shirt 

नोट वहाँ के बीच एक बहुत ही सूक्ष्म अंतर यह है कि दो। शर्ट गारमेंट से विरासत के लिए गए थे तो इन अपेक्षाओं के दोनों पारित करेंगे:

expect(@object).to be_a Shirt 
expect(@object).to be_a Garment 

आप करते हैं और @object एक शर्ट है, तो दूसरा उम्मीद असफल हो जायेगी:

@object.should be_an_instance_of Shirt 
@object.should be_an_instance_of Garment 
7

तुम्हारा मतलब है तुम अगर एक वस्तु एक वर्ग का एक उदाहरण है जाँच करना चाहते हैं: उदाहरण के लिए? यदि हां, तो इतना आसान है, बस class का उपयोग करें:

@object.class.should == Shirt 
+0

धन्यवाद यह काम करेगा। –

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

  • कोई संबंधित समस्या नहीं^_^