2012-08-29 14 views
20

fabrication मणि के बारे में कुछ संसाधन प्रतीत होते हैं, और मुझे factory_girl से अलग करने वाली सुविधाओं की अच्छी तुलना नहीं मिली। संस्करणों के अनुसार fabrication-2.2.3 और factory_girl-4.0.0, मुझे शायद ही कोई अंतर मिल सके। ये रत्न कैसे तुलना करते हैं? fabrication क्या बेहतर विकल्प बना सकता है और क्यों? क्या वे दोनों एकत्रित हैं?फैब्रिकेशन के साथ फैक्टरी गर्ल की तुलना

+0

मुझे लगता है कि आप एक उत्तर चुन सकते हैं :) – apneadiving

+1

@apneadiving मेरी इच्छा है, लेकिन सभी उत्तर या तो व्यक्तिपरक या अपूर्ण हैं। मेरी इच्छा है कि कोई एक उद्देश्य तुलना पोस्ट कर सके। –

उत्तर

9

फैक्टरी गर्ल में trait की एक अतिरिक्त अवधारणा है जो वास्तव में उपयोगी है।

अन्य विशेषताएं समान या कम समान लगती हैं।

आप एक को चुनना, डाउनलोड की संख्या पर विचार करना चाहते हैं:

  • FactoryGirl: 7,550,264

  • निर्माण: जब आप मदद के लिए लग रही है 521,433

उपयोगी हो सकता है /समर्थन।

+0

कारखाने की लड़की का डॉक्टर यहां रहता है: https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md – apneadiving

+0

धन्यवाद। लोकप्रियता में स्पष्ट अंतर है (https://www.ruby-toolbox.com/categories/rails_fixture_replacement), लेकिन इसका मतलब यह नहीं है कि एक दूसरे से बेहतर है। ऐसा इसलिए हो सकता है क्योंकि कोई बड़ा है, या अधिक मुख्यधारा है, या क्योंकि दूसरा हाल ही में परिपक्व हो गया है। –

+0

लक्षणों की अवधारणा दिलचस्प है (https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md#traits), और स्पष्ट रूप से 'fabrication' में शामिल नहीं है। धन्यवाद। –

13

बस इसके लायक होने के लिए, मुझे फैब्रिकेशन तेज होने लगता है, और मैंने इसके साथ कम त्रुटियों का अनुभव किया है। मुझे लगता है कि बड़ी लोकप्रियता अंतर ज्यादातर इसलिए है क्योंकि निर्माण बहुत नया है।

+0

धन्यवाद @ एंड्रयू। क्या आप कम त्रुटियों पर विस्तार से विस्तार कर सकते हैं? किस प्रकार की त्रुटियां? –

+4

मूल रूप से एफजी के साथ मैं समय-समय पर एसोसिएशन आदि के साथ त्रुटियों को डीबग करना मुश्किल हो गया, और फैब्रिकेशन के साथ मेरे पास बहुत कम था। – Andrew

10

हमने फैक्टरी गर्ल के साथ शुरुआत की, लेकिन "वास्तविक" एआर मॉडल उदाहरणों के निर्माण के पक्ष में इसे बाहर निकाल दिया; एक निर्णय मैं अब समीक्षा कर रहा हूँ।

अब तक, मुझे फैब्रिकेटर पसंद है। ऐसा लगता है कि पूरी तरह से कुछ भी को एक असली डेटाबेस हिट करना है, जिसे एफजी में कभी भी सही महसूस नहीं हुआ है। वाईएमएमवी, ज़ाहिर है, और वहां भी है:

आपके पास डेटा होने से पहले कभी भी सिद्धांत नहीं है। अनिवार्य रूप से, आप सिद्धांतों के अनुरूप सिद्धांतों के बजाय, सिद्धांतों के अनुरूप तथ्यों को घुमाते हैं। - होम्स का कानून तथ्यात्मक सिद्धांतों

+4

+1: जब आप डेटाबेस पहुंच से बचना चाहते हैं, तो 'फैब्रिकेटर.बिल्ड (फैक्ट्री-नाम)' बस काम करता है। मैंने सफलता के बिना 'फैक्टरीगर्ल.बिल्ड' और 'फैक्टरीगर्ल.बिल्ड_स्ट्यूबबेड' दोनों का उपयोग करने की कोशिश की है - ऐसा लगता है कि मॉडल एसोसिएशन के साथ भ्रमित हो जाता है, और डेटाबेस को मारने से समाप्त होता है। – rsenna

+2

इस विषय को यहां संबोधित किया गया है: https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md। हुक को ActiveSupportNotifications में जोड़ें और आप देख सकते हैं कि आपका परीक्षण डीबी को मार रहा है या नहीं। डीबी को मारने से बचने के लिए build_stubbed प्राप्त करने के लिए आपको सावधान रहना होगा कि आप अपनी कारखानों को कैसे व्यवस्थित करते हैं। यह निश्चित रूप से ठीक काम करता है। – justingordon

0

की हाल ही में मैंने बनाम FactoryGirl फ़ेब्रिकेटर की एक रूपरेखा किया क्योंकि मैं प्रदर्शन दूसरों के द्वारा उल्लेख किया टिप्पणियों के बारे में उत्सुक था। मैंने यह भी पाया फ़ेब्रिकेटर होने के लिए थोड़ा तेजी से (लेकिन केवल जब संघों का प्रयोग करके):

https://ksylvest.com/posts/2017-08-12/fabrication-vs-factorygirl

को देखते हुए runtimes बहुत करीब थे, मैं FactoryGirl से अधिक फ़ेब्रिकेटर पसंद करते हैं क्योंकि संघों की स्थापना डिफ़ॉल्ट रूप से निर्माण का प्रचार बनाम पैदा करेगा (बजाय एक रणनीति निर्दिष्ट करने के लिए)।

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