TDD के लिए जावास्क्रिप्ट यूनिट परीक्षण उपकरण


716

मैंने कई जावास्क्रिप्ट यूनिट परीक्षण और परीक्षण उपकरण देखे हैं और उन पर विचार किया है, लेकिन पूरी तरह से TDD अनुरूप रहने के लिए एक उपयुक्त विकल्प खोजने में असमर्थ रहा है। तो, क्या एक जावास्क्रिप्ट इकाई परीक्षण उपकरण है जो पूरी तरह से TDD अनुरूप है?

जवाबों:


1506

कर्म या प्रतिक्षेपक

कर्म एक जावास्क्रिप्ट टेस्ट-रनर है जिसे Node.js के साथ बनाया गया है और इसका मतलब यूनिट टेस्टिंग के लिए है।

प्रोट्रैक्टर एंड-टू-एंड टेस्टिंग के लिए है और टेस्ट ड्राइव करने के लिए सेलेनियम वेब ड्राइवर का उपयोग करता है।

दोनों को एंगुलर टीम ने बनाया है। आप अपने साथ किसी भी अभिकथन-पुस्तकालय का उपयोग कर सकते हैं।

स्क्रेन्कास्ट: कर्मा गेटिंग

संबंधित :

पेशेवरों :

  • नोड.जेएस का उपयोग करता है, इसलिए विन / ओएस एक्स / लिनक्स के साथ संगत है
  • किसी ब्राउज़र से परीक्षण चलाएं या फ़ैंटमजस के साथ हेडलेस करें
  • एक साथ कई क्लाइंट्स चलाएं
  • ब्राउज़रों को लॉन्च करने, पकड़ने और स्वचालित रूप से बंद करने का विकल्प
  • विकास कंप्यूटर या अलग से सर्वर / क्लाइंट चलाने का विकल्प
  • कमांड लाइन से परीक्षण चलाएं (चींटी / मावेन में एकीकृत किया जा सकता है)
  • परीक्षण xUnit या BDD शैली लिखें
  • कई जावास्क्रिप्ट परीक्षण चौखटे का समर्थन करता है
  • सेव पर ऑटो चलाने के टेस्ट
  • प्रॉक्सी क्रॉस-डोमेन का अनुरोध करता है
  • अनुकूलित करने के लिए संभव है:
    • इसे अन्य टेस्ट-फ्रेमवर्क (जैस्मीन, मोचा, क्विंट बिल्ट-इन) में लपेटें
    • आपके अपने दावे / खंडन
    • संवाददाताओं से
    • ब्राउज़र लॉन्चर्स
  • WebStorm के लिए प्लगइन
  • Netbeans IDE द्वारा समर्थित

विपक्ष :

mocha.js

मैं mocha.js की विशेषताओं, शक्तियों और कमजोरियों पर टिप्पणी करने के लिए पूरी तरह से अयोग्य हूं, लेकिन यह सिर्फ मेरे द्वारा अनुशंसित था जिसे मैं जेएस समुदाय पर भरोसा करता हूं।

इसकी वेबसाइट द्वारा बताई गई सुविधाओं की सूची:

  • ब्राउज़र का समर्थन
  • वादों सहित सरल async समर्थन
  • परीक्षण कवरेज रिपोर्टिंग
  • स्ट्रिंग अलग समर्थन करते हैं
  • परीक्षण चलाने के लिए जावास्क्रिप्ट # एपीआई
  • सीआई समर्थन आदि के लिए उचित निकास स्थिति
  • ऑटो-डिटेक्ट और गैर-टिट्स के लिए रंग को निष्क्रिय करता है
  • सही परीक्षण के मामले में अपवादों को हटा दिया गया
  • async परीक्षण टाइमआउट समर्थन
  • परीक्षण-विशिष्ट टाइमआउट
  • विकास अधिसूचना समर्थन
  • रिपोर्ट परीक्षण अवधि
  • धीमी परीक्षणों पर प्रकाश डाला
  • फ़ाइल चौकीदार का समर्थन
  • वैश्विक चर रिसाव का पता लगाने
  • वैकल्पिक रूप से परीक्षण जो एक regexp से मिलते हैं
  • एक सक्रिय लूप के साथ "फांसी" को रोकने के लिए ऑटो-निकास
  • आसानी से मेटा-जनित सुइट्स और टेस्ट-केस
  • mocha.opts फ़ाइल समर्थन
  • परीक्षण निष्पादन को फ़िल्टर करने के लिए क्लिक करने योग्य सुइट शीर्षक
  • नोड डिबगर समर्थन
  • किए गए कई कॉल का पता लगाता है ()
  • अपने इच्छित किसी भी पुस्तकालय का उपयोग करें
  • एक्स्टेंसिबल रिपोर्टिंग, 9+ पत्रकारों के साथ बंडल की गई
  • एक्स्टेंसिबल टेस्ट डीएसएल या "इंटरफेस"
  • पहले, बाद में, प्रत्येक से पहले, प्रत्येक हुक के बाद
  • मनमाना ट्रांसपॉइलर समर्थन (कॉफी-स्क्रिप्ट आदि)
  • TextMate बंडल

yolpo

yolpo

यह अब मौजूद नहीं है, इसके बजाय sequential.js पर पुनर्निर्देश करता है

योल्पो जावास्क्रिप्ट के निष्पादन की कल्पना करने का एक उपकरण है। जावास्क्रिप्ट एपीआई डेवलपर्स को अपने एपीआई को दिखाने और बताने के लिए अपने उपयोग के मामलों को लिखने के लिए प्रोत्साहित किया जाता है। इस तरह के उपयोग के मामले प्रतिगमन परीक्षणों का आधार बनते हैं।

AVA

एवीए लोगो

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

  • न्यूनतम और तेज
  • सरल परीक्षण वाक्यविन्यास
  • समवर्ती परीक्षण करता है
  • परमाणु परीक्षण लिखने में सक्षम बनाता है
  • कोई निहित ग्लोबल्स नहीं
  • प्रत्येक परीक्षण फ़ाइल के लिए पृथक वातावरण
  • ES2015 में अपने परीक्षण लिखें
  • समर्थन का वादा
  • जेनरेटर फंक्शन सपोर्ट
  • Async फ़ंक्शन समर्थन
  • अवलोकनीय समर्थन
  • बढ़े हुए मुखर
  • वैकल्पिक टेप ओ utput
  • साफ ढेर के निशान

Buster.js

Node.js. के साथ बनाया गया एक जावास्क्रिप्ट टेस्ट-रनर बहुत मॉड्यूलर और लचीला। यह अपने स्वयं के मुखर पुस्तकालय के साथ आता है, लेकिन यदि आप चाहें तो आप अपना खुद का जोड़ सकते हैं। दावे पुस्तकालय decoupled है, तो आप भी अन्य परीक्षण धावकों के साथ उपयोग कर सकते हैं। उपयोग करने के बजाय assert(!...)या expect(...).not..., यह उपयोग करता है refute(...)जो कि एक अच्छा मोड़ है।

एक ब्राउज़र जावास्क्रिप्ट परीक्षण टूलकिट। यह ब्राउज़र ऑटोमेशन के साथ ब्राउज़र टेस्टिंग करता है (JsTestDriver सोचो), Qunit स्टाइल स्टैटिक HTML पेज टेस्टिंग, हेडलेस ब्राउज़र में परीक्षण (PhantomJS, jsdom, ...), और बहुत कुछ। पर एक नजर डालें सिंहावलोकन !

एक Node.js परीक्षण टूलकिट। आपको एक ही टेस्ट केस लाइब्रेरी, अभिकथन लाइब्रेरी आदि मिलती है। यह हाइब्रिड ब्राउज़र और Node.js कोड के लिए भी बढ़िया है। बस्टर.जेएस के साथ अपने परीक्षण के मामले को लिखें और इसे Node.js और वास्तविक ब्राउज़र दोनों में चलाएं।

स्क्रेन्कास्ट : बस्टर.जेएस शुरू (2:45)

पेशेवरों :

  • नोड.जेएस का उपयोग करता है, इसलिए विन / ओएस एक्स / लिनक्स के साथ संगत है
  • एक ब्राउज़र से परीक्षण चलाएं या फैंटमजेएस (जल्द ही) के साथ हेडलेस करें
  • एक साथ कई क्लाइंट्स चलाएं
  • NodeJS परीक्षण का समर्थन करता है
  • विकास कंप्यूटर पर सर्वर / क्लाइंट चलाने की आवश्यकता नहीं है (IE की कोई आवश्यकता नहीं)
  • कमांड लाइन से परीक्षण चलाएं (चींटी / मावेन में एकीकृत किया जा सकता है)
  • परीक्षण xUnit या BDD शैली लिखें
  • कई जावास्क्रिप्ट परीक्षण चौखटे का समर्थन करता है
  • उन्हें टिप्पणी करने के बजाय सुरक्षित परीक्षण करें
  • SinonJS बिल्ट-इन
  • सेव पर ऑटो चलाने के टेस्ट
  • प्रॉक्सी क्रॉस-डोमेन का अनुरोध करता है
  • अनुकूलित करने के लिए संभव है:
    • अन्य टेस्ट-फ्रेमवर्क (JsTestDriver में निर्मित) को लपेटने के लिए इसे बढ़ाएँ
    • आपके अपने दावे / खंडन
    • रिपोर्टर्स (एक्सयूनिट एक्सएमएल, पारंपरिक डॉट्स, स्पेसिफिकेशन, टैप, टीमसिटी और अधिक बिल्ट-इन)
    • ब्राउज़र-परीक्षण चलाने के लिए उपयोग किए जाने वाले HTML को कस्टमाइज़ / बदलें
  • TextMate और Emacs का एकीकरण

विपक्ष :

  • बीटा में हलचल तो छोटी गाड़ी हो सकती है
  • ग्रहण / IntelliJ के लिए कोई प्लगइन (अभी तक)
  • ओएस / ब्राउज़र / संस्करण जैसे TestSwarm * द्वारा समूह परिणाम नहीं देता है। हालाँकि, यह परीक्षा परिणामों में ब्राउज़र का नाम और संस्करण प्रिंट करता है।
  • टेस्टस्वर्म * जैसे पिछले परीक्षा परिणामों का कोई इतिहास नहीं
  • मई 2014 तक विंडोज़ पर पूरी तरह से काम नहीं करता है

* TestSwarm भी एक निरंतर एकीकरण सर्वर है, जबकि आपको Buster.js के लिए एक अलग CI सर्वर की आवश्यकता होती है। हालाँकि, यह xUnit XML रिपोर्ट को आउटपुट करता है, इसलिए हडसन , बांस या अन्य CI सर्वर के साथ एकीकरण करना आसान होना चाहिए ।

TestSwarm

https://github.com/jquery/testswarm

TestSwarm आधिकारिक तौर पर सक्रिय विकास के तहत नहीं है जैसा कि उनके GitHub वेबपेज पर बताया गया है। वे कर्म, ब्राउज़रस्टैक-रनर या इंटर्न की सलाह देते हैं।

चमेली

चमेली

यह एक व्यवहार-चालित ढाँचा है (जैसा कि नीचे उद्धरण में कहा गया है) जो रूबी या रूबी के साथ रूल्स से परिचित हो सकता है। वाक्यविन्यास RSpec पर आधारित है जो रेल परियोजनाओं में परीक्षण के लिए उपयोग किया जाता है।

जैस्मीन चश्मा एक html पृष्ठ (qUnit फैशन में) या एक परीक्षण धावक (कर्म के रूप में) से चलाया जा सकता है।

जैस्मीन आपके जावास्क्रिप्ट कोड के परीक्षण के लिए एक व्यवहार-संचालित विकास ढांचा है। यह किसी भी अन्य जावास्क्रिप्ट चौखटे पर निर्भर नहीं करता है। इसके लिए DOM की आवश्यकता नहीं है।

यदि आपके पास इस परीक्षण ढांचे के साथ अनुभव है, तो कृपया अधिक जानकारी के साथ योगदान करें :)

प्रोजेक्ट होम: http://jasmine.github.io/

QUnit

क्वार्टर ब्राउज़र में जावास्क्रिप्ट का परीक्षण करने पर ध्यान केंद्रित करता है, जबकि डेवलपर को यथासंभव सुविधा प्रदान करता है। साइट से ब्लर करें:

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

टेस्टस्वर्म (ऊपर) के साथ कुछ इतिहास साझा करें:

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

प्रोजेक्ट होम: http://qunitjs.com/

सिनोन

एक और महान उपकरण टेस्ट-चालित जावास्क्रिप्ट विकास के लेखक क्रिश्चियन जोहान्सन द्वारा sinon.js है । सबसे अच्छा खुद द्वारा वर्णित:

जावास्क्रिप्ट के लिए स्टैंडअलोन परीक्षण जासूस, स्टब्स और मोक्स। कोई भी निर्भरता किसी भी इकाई परीक्षण ढांचे के साथ काम नहीं करती है।

नजरबंद

प्रशिक्षु वेब साइट पर इस सूची में अन्य परीक्षण चौखटे के लिए एक सीधा सुविधा तुलना प्रदान करता है। यह किसी भी अन्य जावास्क्रिप्ट-आधारित परीक्षण प्रणाली की तुलना में बॉक्स से अधिक सुविधाएँ प्रदान करता है।

जेस्ट

एक नया लेकिन अभी तक बहुत शक्तिशाली परीक्षण ढांचा। यह स्नैपशॉट आधारित परीक्षण की अनुमति देता है और साथ ही यह परीक्षण की गति को बढ़ाता है और परीक्षण के संदर्भ में एक नया गतिशील बनाता है

उनकी एक बातचीत देखें: https://www.youtube.com/watch?v=cAKYQpTC7MA

बेहतर अभी तक: शुरू हो रही है


2
जैस्मिन वी 8 का उपयोग करके बिना सिर के काम कर सकती है, लेकिन आप इसे अंतःक्रियात्मक रूप से भी उपयोग कर सकते हैं। जबकि जैस्मीन के संबंध में DOM आवश्यक नहीं है, आपका कोडबेस DOM तक पहुँच सकता है। अनुशासन के साथ, यह संभव है कि स्थितियों को खत्म करना, या कोड के कुछ हिस्सों के लिए नकली प्रदान करना जो DOM तक पहुंचते हैं और HTML जुड़नार के अलावा पूरी तरह से परीक्षण चलाते हैं। आप ऐड-ऑन का उपयोग करके कमांड-लाइन समर्थन और जुड़नार भी प्राप्त कर सकते हैं।
जर्सीबॉय

2
@ rehevkor5: सेलेनियम एकीकरण परीक्षण के लिए है, जबकि यहां उपकरण इकाई परीक्षण के लिए हैं। typemock.com/unit-tests-integration-tests
ग्रेगर्स

26
लगभग हर एक परीक्षण धावक एक ब्राउज़र पर निर्भर करता है। Wtf, क्या कोई भी कभी भी सर्वर-साइड पर केवल यूनिट परीक्षण नहीं चलाता है ????

2
अलग-अलग उत्तरों में प्रत्येक विकल्प को विभाजित / विभाजित करना बेहतर नहीं होगा? यह इस पर वर्तमान वोटों को अमान्य कर सकता है, लेकिन मुझे लगता है कि यह सबसे अधिक समझ में आता है।
क्रैगॉक्स

2
@ रेन आप ईएस 2015 को उनमें से अधिकांश में बाबेल के साथ प्लग कर सकते हैं , लेकिन सिंधे सोरहस द्वारा एवीए ने इसे बनाया है।
ग्रैजर्स

64

Dojo Object Harness (DOH) यूनिट टेस्ट फ्रेमवर्क पर एक नज़र डालें जो कि जावास्क्रिप्ट यूनिट टेस्टिंग के लिए बहुत अधिक स्वतंत्र फ्रेमवर्क है और इसमें कोई Dojo निर्भरता नहीं है। Dojo ऑब्जेक्टिव हार्नेस का उपयोग करते हुए यूनिट परीक्षण वेब 2.0 अनुप्रयोगों में इसका बहुत अच्छा वर्णन है ।

यदि आप UI परीक्षण (कई डेवलपर्स का एक गंभीर बिंदु) को स्वचालित करना चाहते हैं - doh.robot (अस्थायी डाउन अपडेट। अन्य लिंक http://dojotoolkit.org/reference-guide/util/dohrobot.html ) और dijit देखें। .robotx (अस्थायी नीचे) । बाद को स्वीकृति परीक्षण के लिए डिज़ाइन किया गया है। अपडेट करें:

संदर्भित लेख बताते हैं कि उनका उपयोग कैसे करें, माउस और / या कीबोर्ड का उपयोग करके अपने यूआई के साथ बातचीत करने वाले उपयोगकर्ता का अनुकरण कैसे करें, और परीक्षण सत्र कैसे रिकॉर्ड करें, इसलिए आप इसे बाद में स्वचालित रूप से "खेल" सकते हैं।


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

मैंने वास्तव में पिछले प्रोजेक्ट में इसका उपयोग किया है, और इसे अमूल्य पाया है। लेकिन फिर, मैं तुलना नहीं कर सकता - किसी भी अन्य TDD ढांचे का उपयोग नहीं किया है।
राकेश पई

मृत लिंक की रिपोर्टिंग के लिए धन्यवाद। मैंने उनमें से एक को अपडेट किया, और जैसे ही वे एक नई वेब साइट पर होंगे, मैं रोबोट डॉक्स के लिंक को बदल दूंगा।
यूजीन लाजुटकिन

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

Dojo, TheOH को TheIntern टेस्टिंग फ्रेमवर्क से बदल रहा है। TheIntern बहुत शक्तिशाली है और इसमें पर्याप्त सुधार है। sitepen.com/blog/2014/02/18/…
user64141

34

चुत्ज़प - एक जावास्क्रिप्ट टेस्ट रनर

मैंने चुतज़पह नामक एक ओपन सोर्स प्रोजेक्ट बनाया, जो जावास्क्रिप्ट यूनिट परीक्षणों के लिए एक परीक्षण धावक है। Chutzpah कमांड लाइन और विज़ुअल स्टूडियो के अंदर से जावास्क्रिप्ट यूनिट टेस्ट चलाने में सक्षम बनाता है। यह टीमसिटी निरंतर एकीकरण सर्वर में चलने का भी समर्थन करता है।


7
मैंने सिर्फ दृश्य स्टूडियो के अंदर जैस्मिन परीक्षणों को चलाने के लिए चुत्ज़प का उपयोग करना शुरू किया - यह अच्छी तरह से एकीकृत है: परीक्षण फ़ाइल में राइट क्लिक करें और 'रन जेएस परीक्षण' या 'ब्राउज़र में जेएस परीक्षण चलाएं' को चुना। मैं JSTestDriver का उपयोग करके समान चमेली परीक्षण चलाता हूं। मैं चुत्ज़प को पसंद करता हूं क्योंकि मैं निर्दिष्ट करता हूं कि मैं कौन सी फाइलें परीक्षण फ़ाइल के शीर्ष पर लोड होने पर निर्भर करता हूं। JSTestDriver के लिए मुझे एक अलग कॉन्फ़िग फ़ाइल की आवश्यकता है।
गारेथऑवेन

26

विकिपीडिया प्रविष्टि के जावास्क्रिप्ट खंड, यूनिट टेस्टिंग फ्रेमवर्क की सूची, उपलब्ध विकल्पों की सूची प्रदान करता है। यह इंगित करता है कि क्या वे क्लाइंट-साइड, सर्वर-साइड, या दोनों काम करते हैं।


14

BusterJS

टेस्ट ड्रिवेन जावास्क्रिप्ट डेवलपमेंट और सिनॉन फ्रेमवर्क के लेखक क्रिश्चियन जोहान्स से बस्टरजेएस भी है । साइट से:

बस्टर.जेएस एक नया जावास्क्रिप्ट परीक्षण ढांचा है। यह वास्तविक ब्राउज़र (सोच JsTestDriver), साथ ही Node.js परीक्षण में परीक्षण रन को स्वचालित करके ब्राउज़र परीक्षण करता है।


10

गूगल-js परीक्षण:

Google द्वारा जारी जावास्क्रिप्ट परीक्षण ढांचा: https://github.com/google/gjstest

  • एक ब्राउज़र चलाने के बिना बेहद तेजी से परीक्षण स्टार्टअप और निष्पादन समय।
  • पासिंग और फेल दोनों टेस्ट के मामले में स्वच्छ, पठनीय आउटपुट।
  • एक ब्राउज़र-आधारित परीक्षण धावक जो कि जब भी जेएस को बदला जाता है, बस ताज़ा किया जा सकता है।
  • शैली और शब्दार्थ जो C ++ के लिए Google टेस्ट से मिलते जुलते हैं ।
  • Google C ++ मॉकिंग फ्रेमवर्क पर आधारित शैली और शब्दार्थ के साथ एक अंतर्निहित मॉकिंग फ्रेमवर्क जिसमें न्यूनतम बॉयलरप्लेट कोड (उदाहरण के लिए नहीं $tearDownया $verifyAll) की आवश्यकता होती है ।

वर्तमान में विंडोज के लिए कोई बायनेरिज़ नहीं है


1
यह Github पर लगभग शून्य ब्याज है लगता है, यह भी यह की आवश्यकता है यूनिक्स ठिकानों ओएस, और मैं एक विशाल खिड़कियों प्रशंसक हूँ, मैं अपने विंडोज़ मशीन अलविदा चुंबन के बिना मेरे घर नहीं छोड़ते।
vsync

8

अब हम सभी के साथ पावलोव और JSTestDriver के साथ Qunit का उपयोग कर रहे हैं। यह दृष्टिकोण हमारे लिए अच्छा काम करता है।

QUnit

पावलोव , स्रोत

jsTestDriver , स्रोत


क्या आप यह समझाने की परवाह करेंगे कि पूरी परीक्षण प्रक्रिया में इनमें से प्रत्येक में क्या भूमिका है और वे एक-दूसरे से कैसे जुड़ते हैं?
vsync

खेद है कि इस बारे में विवरण वापस लेने के लिए यह एक लंबा समय है और कई अनुबंध नौकरियां हैं।
टॉम स्टिकेल

6

आपके पास एक समर्थक के रूप में "वास्तविक ब्राउज़र पर चलता है", लेकिन मेरे अनुभव में यह एक कॉन है क्योंकि यह धीमा है। लेकिन जो इसे मूल्यवान बनाता है वह गैर-ब्राउज़र विकल्पों में से पर्याप्त जेएस अनुकरण की कमी है। यह हो सकता है कि यदि आपका JS इतना जटिल है कि केवल ब्राउज़र परीक्षण में पर्याप्त होगा, लेकिन विचार करने के लिए कुछ और विकल्प हैं:

HtmlUnit : "इसमें काफी अच्छा जावास्क्रिप्ट समर्थन है (जो लगातार सुधार कर रहा है) और काफी जटिल AJAX पुस्तकालयों के साथ भी काम करने में सक्षम है, जो आपके द्वारा उपयोग किए जाने वाले कॉन्फ़िगरेशन के आधार पर फ़ायरफ़ॉक्स या इंटरनेट एक्सप्लोरर का अनुकरण कर रहा है।" यदि इसका उपयोग आपके उपयोग के लिए पर्याप्त है तो यह ब्राउज़र चलाने से बहुत तेज़ होगा।

लेकिन शायद HtmlUnit में पर्याप्त JS सपोर्ट है लेकिन आपको जावा पसंद नहीं है? फिर, शायद:

ज्लदी : JRuby पर Watir एपीआई चल HtmlUnit द्वारा समर्थित।

या इसी तरह

Schnell : HtmlUnit का एक और JRuby आवरण।

निश्चित रूप से अगर HtmlUnit पर्याप्त नहीं है और आपको एक ब्राउज़र चलाना है तो आप अपने जेएस को चलाने के लिए Watir पर विचार कर सकते हैं ।


6

YUI में एक परीक्षण ढांचा भी है। याहू का यह वीडियो ! रंगमंच एक अच्छा परिचय है, हालांकि टीडीडी अप फ्रंट के बारे में बहुत सारी बुनियादी बातें हैं।

यह ढांचा सामान्य है और इसे किसी भी जावास्क्रिप्ट या जेएस लाइब्रेरी के खिलाफ चलाया जा सकता है।



3

आपको यूनिट टेस्टिंग फ्रेमवर्क में भी रुचि हो सकती है , जो कि डोजो, एक्सटीजेएस, आदि के समान एक खुला स्रोत आरआईए फ्रेमवर्क का हिस्सा है , जो कि क्यूओक्सडू का हिस्सा है , लेकिन काफी व्यापक टूल चेन के साथ।

Testrunner के ऑनलाइन संस्करण का प्रयास करें । संकेत: ऊपर बाईं ओर ग्रे तीर मारा (इसे और अधिक स्पष्ट किया जाना चाहिए)। यह एक "प्ले" बटन है जो चयनित परीक्षणों को चलाता है।

जेएस कक्षाओं के बारे में अधिक जानने के लिए जो आपको अपनी इकाई परीक्षणों को परिभाषित करने देते हैं, ऑनलाइन एपीआई दर्शक देखें

स्वचालित यूआई परीक्षण (सेलेनियम आरसी पर आधारित) के लिए, सिम्युलेटर प्रोजेक्ट देखें।



3

हमने अपने जावा को जावास्क्रिप्ट कोड जनरेटर ST-JS ( http://st-js.org ) में जोड़ दिया । फ्रेमवर्क परीक्षण कोड और यूनिट टेस्ट दोनों के लिए संबंधित जावास्क्रिप्ट के लिए उत्पन्न होता है और विभिन्न ब्राउज़रों के लिए कोड भेजता है।

एक अलग सर्वर की कोई आवश्यकता नहीं है क्योंकि यूनिट परीक्षण धावक आवश्यक http पोर्ट खोलता है (और परीक्षण समाप्त होने के बाद इसे बंद कर देता है)। जावा स्टैकट्रेस में फ्रेमवर्क में फेरबदल किया जाता है ताकि असफल मुखर JUnit ग्रहण प्लगइन द्वारा सही ढंग से प्रदर्शित हो। यहाँ jQuery और Mockjax के साथ एक सरल उदाहरण दिया गया है:

@RunWith(STJSTestDriverRunner.class)
@HTMLFixture("<div id='fortune'></div>")

@Scripts({ "classpath://jquery.js",
       "classpath://jquery.mockjax.js", "classpath://json2.js" })
public class MockjaxExampleTest {
  @Test
  public void myTest() {
    $.ajaxSetup($map("async", false));
    $.mockjax(new MockjaxOptions() {
      {
        url = "/restful/fortune";
        responseText = new Fortune() {
          {
            status = "success";
            fortune = "Are you a turtle?";
          }
        };
      }
    });

    $.getJSON("/restful/fortune", null, new Callback3<Fortune, String, JQueryXHR>() {
      @Override
      public void $invoke(Fortune response, String p2, JQueryXHR p3) {
        if (response.status.equals("success")) {
          $("#fortune").html("Your fortune is: " + response.fortune);
        } else {
          $("#fortune").html("Things do not look good, no fortune was told");
        }

      }
    });
    assertEquals("Your fortune is: Are you a turtle?", $("#fortune").html());
  }

  private static class Fortune {
    public String status;
    public String fortune;
  }
}

2

MochiKit में एक टेस्टिंग फ्रेमवर्क है, जिसे SimpleTest कहा जाता है जो कि पकड़ा हुआ लगता है। यहाँ मूल लेखक से एक ब्लॉग पोस्ट है


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