2015-12-22 9 views
5

के बीच क्या अंतर है मुझे पता है कि कर्म जैस्मीन या मोचा जैसे जेएस यूनिट परीक्षण फ्रेमवर्क के लिए एक परीक्षण धावक है। और फैंटॉमजेएस जैस्मीन या मोचा टेस्ट चलाने के लिए हेडलेस ब्राउजर प्रदान करता है।कर्म और फैंटॉमजेएस

लेकिन, कर्म और फैंटॉमजेएस के बीच क्या अंतर है? क्या वे दो प्रतिस्पर्धी उपकरण हैं, या क्या मैं ब्राउज़र के बिना अपने यूनिट परीक्षण चलाने के लिए कर्म के शीर्ष पर फैंटॉमजेएस का उपयोग करता हूं?

उत्तर

25

फैंटॉमजेएस के पास परीक्षण के साथ कुछ लेना देना नहीं है। यूनिट परीक्षण क्षेत्र में यह लक्षित ब्राउज़र में से एक बन जाएगा।

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

कर्म धावक है जो परीक्षणों को कितना सफल बनाता है, इस बारे में तैयार रिपोर्ट प्रदान करता है।

जैस्मीन यूनिट परीक्षण लिखने के लिए उपयोग की जाने वाली लाइब्रेरी है।

तो

जैस्मीनइकाई परीक्षण ब्राउज़र PhantomJS अंदर कर्मा द्वारा चलाए जा रहे हैं स्पष्ट करने के लिए।

4

ऐसा लगता है कि आपने कुछ हद तक पहले से ही अपने प्रश्न का उत्तर दिया है, लेकिन मैंने जो बताया है उसका विस्तार करूंगा।

कर्म एक परीक्षण चलने वाला ढांचा है जो मुख्य रूप से टेस्ट फ्रेमवर्क भाषा अज्ञेयवादी है। इसमें एक समृद्ध प्लगइन पारिस्थितिकी तंत्र है जो आपको अपने परीक्षणों को कैसे, कब, और क्यों चलाता है, इसे अनुकूलित करने की अनुमति देता है।

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

हालांकि, ऐसे समय होते हैं जब आप लक्ष्य परीक्षण बॉक्स पर किसी भौतिक ब्राउज़र के बिना चलाना चाहते हैं। यह वह जगह है जहां फैंटॉमजेएस आता है। यह एक हेडलेस ब्राउज़र है जिसे लक्ष्य मशीन पर इंस्टॉल किए बिना चलाया जा सकता है। यह कर्म को प्रतिस्थापित नहीं कर सकता है। यदि आप इसे "प्रतियोगी" के रूप में वर्णित करना चाहते हैं, तो यह आईई, फ़ायरफ़ॉक्स, क्रोम और सफारी के प्रतिद्वंद्वी होगा।

+0

इसलिए यदि मुझे ब्राउज़र पर अपने परीक्षण चलाने की आवश्यकता है (उदाहरण के लिए डेवलपर्स लैपटॉप पर), तो मैं केवल कर्म का उपयोग करूंगा, और जब मैं अपने सीआई सर्वर पर अपने परीक्षण चलाने के लिए चाहता हूं, तो मैं कर्म + फैंटॉमजेएस का उपयोग करूंगा? – Rohan

+0

आपको अभी भी डेवलपर के लैपटॉप पर ब्राउज़र को लक्षित करने/लक्षित करने की आवश्यकता है। PhantomJS ठीक काम करता है, जैसा कि क्रोम करता है। ध्यान रखें कि यदि आपको अपने परीक्षण डीबग करने की आवश्यकता है (और शायद आप करेंगे), क्रोम या अन्य ब्राउज़र बहुत आसान है। व्यक्तिगत रूप से मैं अपने dev मशीन पर https://github.com/karma-runner/karma-chrome-launcher चलाता हूं और सीआई सर्वर पर https://github.com/karma-runner/karma-phantomjs-launcher चलाता हूं। –

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