यदि मैं "निर्माण" निर्माण रणनीति का उपयोग करके बनाना और उदाहरण बनाना चाहता हूं और फिर सत्यापन के लिए "attributes_for" निर्माण रणनीति का उपयोग करना चाहता हूं, तो क्या यह संभव है? और अगर मैं कारखाने में अनुक्रमों का उपयोग करता हूं? क्या यह मशीनिनिस्ट मणि में संभव है?क्या attributes_for प्राप्त करने के लिए factory_girl में एक ही तरीका है और उसी इंस्टेंस तत्व के लिए बना है?
5
A
उत्तर
11
बिल्कुल यकीन नहीं है कि मैं पूरी तरह से समझता हूं। और मैं machinist का उपयोगकर्ता नहीं हूँ। लेकिन ऐसा लगता है जैसे आप ऐसा कुछ करना चाहते हैं।
@attributes = FactoryGirl.attributes_for(:my_object)
my_object = MyObject.create(@attributes)
my_object.some_property.should == @attributes[:some_property]
1
इस पोस्ट के लिए धन्यवाद, बस जोड़ने के लिए उस वर्ग FactoryGirl
@user_attributes = FactoryGirl.attributes_for(:super_user)
1
है चाहता था
समाधान John Hinnegan सुझाव है ध्वनि है, लेकिन आप बेहतर वस्तु आरंभीकरण के लिए FactoryGirl.create
विधि का उपयोग करें, क्योंकि यह आम तौर पर होगा आपको एक वैध वस्तु देते हैं। उदाहरण के लिए यदि आप MyObject.new
का उपयोग करते हैं तो after(:create)
नहीं कहा जाएगा।
@attributes = FactoryGirl.attributes_for(:my_object)
my_object = FactoryGirl.create(:my_object, @attributes)
expect(my_object.some_property).to eq @attributes[:some_property]