क्या मुझे अपने एंड-टू-एंड परीक्षण के लिए प्रोट्रैक्टर या कर्म का उपयोग करना चाहिए? [बन्द है]


124

क्या मुझे अपने एंड-टू-एंड परीक्षण के लिए प्रोट्रैक्टर या कर्म का उपयोग करना चाहिए?

कोणीय-बीज ई 2 ई के लिए प्रोट्रैक्टर / सेलेनियम वेबड्राइवर का उपयोग कर रहा है, लेकिन कोणीय-फोनकैट ट्यूटोरियल कर्म का उपयोग करता है।

मैंने पढ़ा कि मुझे ई 2 ई के लिए यूनिट परीक्षणों और प्रोट्रैक्टर के लिए कर्मा का उपयोग करना चाहिए, जो ठीक लगता है लेकिन मुझे लगा कि मैं अन्य देव राय प्राप्त करने के लिए यहां पूछूंगा।


1
सॉफ्टवेयर की सिफारिशों के लिए बेहतर फिट है । यद्यपि यदि आप इस प्रश्न को पोस्ट करते हैं तो आपको अपनी आवश्यकताओं के बारे में विस्तार से बताना होगा। संबंधित मेटा
प्रोफेसर ऑलमैन

5
कर्म और प्रोट्रैक्टर दोनों का उपयोग किया जाता है और एंगुलर टीम द्वारा अनुशंसित किया जाता है, लेकिन प्रलेखन की स्थिति को देखते हुए (यानी: इसमें टन है और यह जानना मुश्किल है कि आज तक क्या है) यह जानना मुश्किल है कि किसका उपयोग करना है और किस उद्देश्य के लिए। यह एक अच्छा सवाल है और ग्लॉप्रेटेर का जवाब वास्तव में वही था जिसकी मुझे तलाश थी।
मैट

5
मुझे नहीं लगता कि सवाल बहुत व्यापक था (प्रोटेक्टर बनाम कर्म)। यह ढांचा है जिसके बारे में हम बात कर रहे हैं, न कि केवल कुछ सॉफ्टवेयर, इसलिए यह सवाल सही जगह पर है।
सीसीसी

कर्मा और प्रोट्रैक्टर के उपयोग के मामलों, फायदों और सीमाओं की अधिक विस्तृत चर्चा के लिए मेरा जवाब यहां देखें: stackoverflow.com/a/29619467/1614973
दिमित्री जैतसेव

मेरी समझ यह है कि प्रोटेक्टर बाकी की उपस्थिति के बिना आपके ऐप के केवल एक हिस्से का परीक्षण करने की अनुमति नहीं देता (उदाहरण के लिए मॉकिंग): परीक्षण कोड एप्लिकेशन के समान जेएस दुभाषिया में भी नहीं चल रहा है। स्रोत कोड संशोधनों और प्रभावित परीक्षणों के स्वचालित री-ट्रिगर के लिए कोई फाइल सिस्टम निगरानी नहीं। कर्म इन्हें प्रदान करता है। यह ब्राउज़र में <script> के टेस्ट कोड + ऐप कोड भेजता है ताकि वे एक ही दुभाषिया में चलें, संभव का मज़ाक उड़ाएं, लेकिन मूल घटनाओं के साथ एंड-टू-एंड परीक्षण के लिए डिज़ाइन नहीं किया गया है जैसे कि एक वास्तविक उपयोगकर्ता अभिनय कर रहे थे।
रॉबर्ट

जवाबों:


179

AngularJS टीम प्रोटेक्टर का उपयोग करने की सिफारिश करती है क्योंकि यह कोणीय परिदृश्य धावक को बदलने जा रही है:

कोणीय परिदृश्य रनर रखरखाव मोड में है - यदि आप एक नया कोणीय प्रोजेक्ट शुरू कर रहे हैं, तो प्रोट्रैक्टर का उपयोग करने पर विचार करें ।

AngularJs प्रलेखन से उद्धृत ।

ट्यूटोरियल कोणीय-फोनकैट एक लंबे समय से पहले (2011 में मुख्य रूप से) विकसित किया गया था और अभी तक प्रोट्रैक्टर जैसी कुछ कोणीय नई सुविधाओं का उपयोग करने के लिए अपडेट नहीं किया गया है।

संपादित करें

में कोणमापक डॉक्स - अकसर किये गए सवाल :

कर्म और प्रोट्रैक्टर दोनों क्यों? मैं कब उपयोग करूं?

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

यहाँ अधिक जानकारी के साथ एक महान ब्लॉग पोस्ट है


11
कर्म से अक्सर पूछे जाने वाले प्रश्न - कर्म- runner.github.io/0.10/intro/faq.html - क्या मैं परीक्षण को समाप्त करने के लिए कर्म का उपयोग कर सकता हूं? कर्म मुख्य रूप से निम्न स्तर (यूनिट) परीक्षण के लिए डिज़ाइन किया गया है। यदि यह एक AngularJS ऐप है, तो आप कर्म को कर्मा-एनजी-परिदृश्य प्लगइन के साथ उपयोग कर सकते हैं, हालांकि हम उच्च स्तरीय परीक्षण के लिए प्रोट्रैक्टर की सलाह देते हैं।
मर्विम

अगर मुझे यूनिट टेस्टिंग के साथ-साथ e2e टेस्टिंग चाहिए तो मुझे ui टेस्टिंग या e2e टेस्टिंग के लिए यूनिट टेस्टिंग और प्रोट्रैक्टर के लिए कर्मा एनवायरनमेंट को कॉन्फ़िगर करना होगा?
सुनील गर्ग

2
@SunilGarg हाँ, आपके पास, शायद हमारी स्टार्टर ऐप संरचना आपकी सहायता कर सकती है: github.com/glepretre/angular-requirejs-ready (उपेक्षा यदि आप इसका उपयोग नहीं करते हैं तो
जरूर बताएं
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.