जवाबों:
मैंने नोड-यूनिट का उपयोग किया और वास्तव में इससे खुश हूं।
मैं मूल रूप से Expresso का उपयोग कर रहा था, लेकिन यह तथ्य कि यह समानांतर में परीक्षण चलाता है, कुछ समस्याओं का कारण बना। (उदाहरण के लिए डेटाबेस फिक्स्चर का उपयोग करना इस स्थिति में अच्छा काम नहीं करता है)।
.done()
imho को कॉल करने के लिए हर परीक्षण की आवश्यकता के साथ थोड़ा अजीब है ।
.done()
अतुल्यकालिक परीक्षण को समायोजित करने की आवश्यकता होती है। मैं मानता हूं कि यह कई बार थोड़ा सा बुरा हो सकता है, लेकिन इसे इस तरह से करने के लिए एक शक्तिशाली कारण है।
मैं भी नोड के लिए एक सभ्य परीक्षण ढांचे की तलाश कर रहा था और मोचा पाया । यह एक्सप्रेसो का आधिकारिक उत्तराधिकारी है और बहुत परिपक्व लगता है।
यह विभिन्न मुखर पुस्तकालयों में प्लग-इन करने की अनुमति देता है, यह कोड कवरेज और अन्य चीजों के लिए संवाददाताओं को प्रदान करता है (आप अपने खुद के प्लग-इन कर सकते हैं)। यह सिंक या async चला सकता है और इसमें एक संक्षिप्त API है।
मैं इसे आजमाऊंगा और वापस रिपोर्ट करूंगा ...
समय के एक अविश्वसनीय राशि के बाद अन्य परियोजनाओं के लिए समर्पित मैं अंत में एक जावास्क्रिप्ट परियोजना पर वापस आया और मोचा के साथ खेलने के लिए समय था। मैं गंभीरता से इसका उपयोग करने की सिफारिश कर सकता हूं। परीक्षण बहुत अच्छी तरह से पढ़ते हैं, gulp के साथ एकीकरण बहुत अच्छा है और परीक्षण बहुत तेजी से चलते हैं। मैं स्वत: स्टैंडअलोन के साथ-साथ ब्राउज़र (ब्राउज़राइज़) टेस्ट रन और इसी कोड कवरेज रिपोर्ट को लगभग आधे दिन में स्थापित करने में सक्षम था (अधिकांश समय यह समझने में बिताया गया था कि कैसे समझें कि ब्राउज़र से कैसे उपयोग करें)। मेरे लिए, मोचा एक परीक्षण ढांचे के लिए एक बहुत अच्छा विकल्प है।
मैं मोचा को लेकर अब भी बहुत आश्वस्त हूं। ची के साथ एकीकरण विभिन्न मुखर शैलियों को प्लगइन करने की अनुमति देता है। आप इस github प्रोजेक्ट में एक कार्यशील सेटअप की जांच कर सकते हैं । मैं इसे अब कर्मा के साथ उपयोग कर रहा हूं, कोड कवरेज रिपोर्ट, स्वचालित वॉचर्स और इंटेलीज के साथ अच्छे एकीकरण को एकीकृत कर रहा हूं
मैंने व्यक्तिगत रूप से केवल मुखर मॉड्यूल का उपयोग किया है, लेकिन यह भी खुद को और अधिक चाहते हैं। मैंने कई नोड मॉड्यूल्स और लोकप्रिय यूनिट टेस्टिंग फ्रेमवर्क के माध्यम से देखा है, नोड-यूनिट हैं और जो एक्सप्रेसो (शायद एक अद्यतन नाम?) के रूप में एक ही आदमी द्वारा किए गए हैं?
प्रतिज्ञा भी आशाजनक लगती है।
व्यक्तिगत रूप से मैं एक्सप्रेसो के साथ फंस गया हूं , लेकिन वहाँ विभिन्न रूपरेखाओं का एक गुच्छा है, जिसमें अधिकांश परीक्षण शैलियों को शामिल किया गया है।
जॉयंट की एक व्यापक सूची है ; कि एक जाना।
प्रतिज्ञा नोड.जेएस के लिए एक ठोस इकाई परीक्षण पुस्तकालय है लेकिन वाक्य रचना थकाऊ है।
मैंने एक पतली अमूर्तता लिखी है जिसे प्रतिज्ञा-धाराप्रवाह कहा जाता है जो एपीआई को श्रृंखलाबद्ध बनाता है।
और मैंने एक और अमूर्त लिखा है, [प्रतिज्ञा-जो] प्रतिज्ञा-धाराप्रवाह पर बनाता है और एक बीडीडी शैली वाक्यविन्यास को उजागर करता है।
एक उदाहरण होगा
var is = require("vows-is");
is.suite("testing is fun").batch()
.context("is testing fun?")
.topic.is("yes")
.vow.it.should.equal("yes")
.suite().run({
reporter: is.reporter
});
मुझे लगता है कि उपलब्ध विभिन्न परीक्षण ढाँचों के बीच, मोचा सबसे नवीनतम और लागू करने के लिए बहुत सरल है। यहाँ इसका उपयोग करने के तरीके के बारे में एक अद्भुत ट्यूटोरियल है: http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/
यदि आप क्वनिट से परिचित हैं , तो आप नोड-क्यूनिट का उपयोग कर सकते हैं, जो कि क्वनिट के मौजूदा ढांचे के आसपास एक नोड आवरण है।
मूल रूप से नोड.जेएस के लिए बनाया गया है, डेडुनिट नोड.जेएस और ब्राउज़र के लिए एक जावास्क्रिप्ट यूनिट टेस्टिंग लाइब्रेरी है। इसकी कुछ अनूठी विशेषताएं:
count
मुखरता है जो अपेक्षित अपवादों और अतुल्यकालिक मुखरता के साथ काम करना आसान बनाता हैमैंने अभी एक परियोजना अपलोड की है जिसका उपयोग मैं कर्म और जैस्मीन के साथ यूनिट टेस्ट नोडजेस के लिए कर रहा हूं: नर्म । आपके नोड मॉड्यूल एक नोड्यूबेटिटक ब्राउज़र में लोड हो जाते हैं ताकि आप नोड मॉड्यूल को निष्पादित कर सकें और समान छलांग में पुस्तकालयों का उपयोग कर सकें।
परीक्षण-स्टूडियो एक npm पैकेज है जो इकाई परीक्षण के लिए एक शक्तिशाली, वेब आधारित फ्रंट एंड प्रदान करता है। यह व्यक्तिगत या परीक्षणों के समूहों को निष्पादित करने और नोड-इंस्पेक्टर को व्यक्तिगत परीक्षणों में कदम रखने जैसी चीजों का समर्थन करता है। यह वर्तमान में मोचा का समर्थन करता है और भविष्य में दी गई माँग में अधिक रूपरेखाओं का समर्थन किया जाएगा।
इसके बारे में यहाँ और पढ़ें ।
डिस्क्लेमर: मैं लेखक हूं।