Magento में यूनिट परीक्षण के लिए उपकरण


23

Magento में यूनिट परीक्षण के लिए आप क्या उपयोग करते हैं? या आप इकाई परीक्षण और Magento के बारे में क्या जानते हैं? आप टीडीडी करते हैं या आप सिर्फ अपने प्रोजेक्ट घटकों के लिए यूनिट टेस्ट कवरेज करना चाहते हैं, आपको ऐसा करने के लिए कुछ उपकरणों की आवश्यकता है।

पहला मूल दृष्टिकोण सादे फ़ापुनिट का उपयोग करना है, लेकिन ऐसी चीजें हैं जो मैगेंटो को "परीक्षण योग्य" बनाने के लिए अतिरिक्त नौटंकी की आवश्यकता है।

मैंने जो कुछ भी काम किया है वह फ़ापुनिट से संबंधित है:

क्या अन्य विकल्प हैं?

जवाबों:


14

अगर आप PHPUnit पर आधारित कुछ नहीं, लेकिन कुछ Magento के एकीकरण के साथ चाहते हैं, तो MagesSpec के साथ PHPSpec देखें । यह प्रयोग करने योग्य है, लेकिन प्राइम टाइम के लिए बिल्कुल तैयार नहीं है। PHPSpec 2 का मजाक उड़ाने के लिए भविष्यवाणी (जो महान है) का उपयोग करता है, लेकिन जादू पाने वालों और बसने वालों को पसंद नहीं करता है। उस कारण से इसके बजाय मॉकरी का उपयोग करना बेहतर है , जो ठीक काम करता है (और मुझे यह बहुत पसंद है)।

फिर मैगेंटो के साथ BDD के लिए BehatMage के साथ Behat भी है । एक नज़र के लायक है, लेकिन यह उदाहरण के लिए विफल रहता है यदि आप विभिन्न डोमेन पर अलग-अलग स्टोर विचारों का परीक्षण करना चाहते हैं।

BehatMage का एक विस्तार MageBehat (भयानक नामकरण!) भी है, जो हैकाथॉन से निकला है। यह BehatMage के लिए बहुत सारे Magento के विशिष्ट कार्यों को प्रदान करता है, लेकिन ईमानदार होने के लिए, उपयोग किए जाने वाले कुछ वर्कअराउंड अंतर्निहित मुद्दों के लिए एक हैक फिर वास्तविक समाधान के अधिक हैं। फिर भी, इसका उपयोग करने योग्य है।

मुझे उम्मीद है कि भविष्य में MageSpec और BehatMage - दोनों परियोजनाएं फलती-फूलती रहेंगी।


आपके उत्तर के लिए विनय धन्यवाद। मैं BehatMage और Inviqa / सत्र डिजिटल में टीम द्वारा किए गए काम के बारे में जानता हूं (यह मेरे लिए उनकी कंपनी संरचना स्पष्ट नहीं है) ... मुझे केवल phpunit सामान की तलाश थी, Behat / BehatMage यह मेरे लिए आकर्षक नहीं है, मैंने इसके साथ खेला था MageSpec थोड़ी देर पहले।
फ्लोरिनसेलइस

अंग्रेजी मेरी मूल भाषा नहीं है, मेरे द्वारा दिए गए विवरण स्पष्ट हो सकते हैं। मैं लंदन मैगनेटो उपयोगकर्ता समूह - दिसंबर मीटअप के लिए कुछ शोध कर रहा हूं।
फ्लोरिनसेलइस

4

PHPUnit क्या Magento 2 का उपयोग करता है। यहाँ GitHub पर एक नमूना फ़ाइल है। https://github.com/magento/magento2/blob/master/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php । (मैंने उस फ़ाइल को यादृच्छिक रूप से उठाया।) आप चाहते हो कि मैगेंटो 2 परीक्षण दृष्टिकोण पर एक त्वरित नज़र डालें ताकि आप जो कुछ भी करते हैं वह अब रिलीज़ होने पर मैगेंटो 2 के साथ संगत हो।


मुझे नहीं लगता कि ओपी यहां मैग्नेटो 2 के बारे में बात कर रहा है।
मारियस

3

आपको EcomDev PHPUnit के साथ जाना चाहिए ।

मेरा व्यक्तिगत रूप से मानना ​​है कि सभी Magento डेवलपर्स को एक सुसंगत इकाई परीक्षण समाधान के लिए प्रयास करना चाहिए। EcomDev इन रूपरेखाओं का सबसे अधिक इस्तेमाल किया और सबसे परिपक्व प्रदान करता है ताकि आपके पास पहले से ही इसमें अनुभव के साथ डेवलपर्स का एक सभ्य पूल हो। एकल फ्रेमवर्क का उपयोग करने से बाजिलियन विभिन्न फ्रेमवर्क स्थापित करने की आवश्यकता भी कम हो जाती है।

EcomDev PHPUnit में उत्पादन कोड के साथ-साथ सीधे परीक्षण डालने का यह अजीब सम्मेलन है। सौभाग्य से, यह आसानी से कोड की कुछ लाइनों को संशोधित करके संबोधित किया जाता है। EcomDev अपडेट के साथ अपना मधुर समय भी लेता है (हालाँकि उनके गितुब रेपो गतिविधि के संकेत दिखाते हैं ताकि वे स्पष्ट रूप से जीवित रहें)।


तो, यह सब कहते हुए, क्या कोई रेपो है जिसमें परिभाषित इकाई परीक्षणों का एक सेट है (ecomdev_unittest का उपयोग करके) जो कोर कार्यक्षमता का परीक्षण करता है? (मुझे पता है कि एमटीएएफ ऐसा करता है, लेकिन क्या कहीं पूर्व-परिभाषित इकाई परीक्षण है?)
प्रोब्बल्यू

1
@ProxiBlue नहीं, ऐसा कोई भी नहीं है जिससे मैं अवगत हूं। हालांकि, यह एक सामुदायिक परियोजना के लिए बहुत अच्छा विचार है।
थाई फ़ान

2

इकाई परीक्षण के लिए EcomDev PHPUnit सबसे अच्छा है।

हो सकता है कि आप मैगेंटो पर फोंसनल परीक्षण की कोशिश करना चाहते हैं? कास्परज के साथ उदाहरण: https://github.com/jacquesbh/hackathon-casperjs/


1
इस बारे में एक अलग सवाल था।
फ्लोरिनसेल यह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.