Node.js यूनिट परीक्षण [बंद]


164

वहाँ किसी भी अच्छा नोड। जे एस (सर्वर साइड जे एस) इकाई परीक्षण चौखटे वर्तमान में वहाँ से बाहर हैं? मैं प्रदान किए गए Assert मॉड्यूल की तुलना में कुछ गहरा देख रहा हूं।

जवाबों:


66

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

मैं मूल रूप से Expresso का उपयोग कर रहा था, लेकिन यह तथ्य कि यह समानांतर में परीक्षण चलाता है, कुछ समस्याओं का कारण बना। (उदाहरण के लिए डेटाबेस फिक्स्चर का उपयोग करना इस स्थिति में अच्छा काम नहीं करता है)।


25
एक्सप्रेसो आपको समानांतर में परीक्षण चलाने के लिए मजबूर नहीं करता है। इसे - theserial तर्क फ़ीड करें और यह मीरा क्रम में उन सभी को चलाएगा।
einaros

3
बस डाउनलोड और इस्तेमाल किया nununit ... वास्तव में यह क्या कहता है, पहली बार ftw काम किया!
माइकल डौसमैन

1
Nodeunit .done()imho को कॉल करने के लिए हर परीक्षण की आवश्यकता के साथ थोड़ा अजीब है ।
कोस

2
अगर मैं एक नया प्रोजेक्ट शुरू कर रहा था, तो मैं शायद मोचा का उपयोग टेस्ट फ्रेमवर्क के रूप में
करूंगा

1
Nodeunit को .done()अतुल्यकालिक परीक्षण को समायोजित करने की आवश्यकता होती है। मैं मानता हूं कि यह कई बार थोड़ा सा बुरा हो सकता है, लेकिन इसे इस तरह से करने के लिए एक शक्तिशाली कारण है।
L0j1k

48

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

यह विभिन्न मुखर पुस्तकालयों में प्लग-इन करने की अनुमति देता है, यह कोड कवरेज और अन्य चीजों के लिए संवाददाताओं को प्रदान करता है (आप अपने खुद के प्लग-इन कर सकते हैं)। यह सिंक या async चला सकता है और इसमें एक संक्षिप्त API है।

मैं इसे आजमाऊंगा और वापस रिपोर्ट करूंगा ...

संपादित करें:

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

अपडेट करें:

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


गिथब प्रोजेक्ट लिंक टूट गया है। क्या आप इसे नवीनीकृत कर सकते हैं, कृपया?
कर्लीसुप

1
मोचा के साथ शुरुआत करना - brianstoner.com/blog/testing-in-nodejs-with-mocha
निकोलस ब्लासगेन

15

मैंने व्यक्तिगत रूप से केवल मुखर मॉड्यूल का उपयोग किया है, लेकिन यह भी खुद को और अधिक चाहते हैं। मैंने कई नोड मॉड्यूल्स और लोकप्रिय यूनिट टेस्टिंग फ्रेमवर्क के माध्यम से देखा है, नोड-यूनिट हैं और जो एक्सप्रेसो (शायद एक अद्यतन नाम?) के रूप में एक ही आदमी द्वारा किए गए हैं?

प्रतिज्ञा भी आशाजनक लगती है।


15
मैं तुम्हें उस दंड के लिए उकसाता हूं।
थॉमसरेजी

15

व्यक्तिगत रूप से मैं एक्सप्रेसो के साथ फंस गया हूं , लेकिन वहाँ विभिन्न रूपरेखाओं का एक गुच्छा है, जिसमें अधिकांश परीक्षण शैलियों को शामिल किया गया है।

जॉयंट की एक व्यापक सूची है ; कि एक जाना।


1
एक्सप्रेसो ही एकमात्र ऐसा है जो मेरे लिए समझ में आता है, और अतुल्यकालिक कोड के साथ ठीक से काम करता है। प्रतिज्ञा की और क़ुनीत ने भी।
बलुप्टन

5

प्रतिज्ञा नोड.जेएस के लिए एक ठोस इकाई परीक्षण पुस्तकालय है लेकिन वाक्य रचना थकाऊ है।

मैंने एक पतली अमूर्तता लिखी है जिसे प्रतिज्ञा-धाराप्रवाह कहा जाता है जो एपीआई को श्रृंखलाबद्ध बनाता है।

और मैंने एक और अमूर्त लिखा है, [प्रतिज्ञा-जो] प्रतिज्ञा-धाराप्रवाह पर बनाता है और एक बीडीडी शैली वाक्यविन्यास को उजागर करता है।

एक उदाहरण होगा

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
});

और ज्यादा उदाहरण


6
उस के लिए, प्रतिज्ञा वाक्य रचना भयावह IMO है
डॉन फेलकर

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

@ ट्रेक प्रतिज्ञा और प्रतिज्ञा-भयानक है। मोचा का उपयोग करें
Raynos

अब यह कोशिश कर रहा है, लेकिन मुद्दों की एक समान गुच्छा में भाग रहा है।
ट्रेक

आप इसे गलत उपयोग कर रहे होंगे। gist.github.com/2896455 को पढ़ने का प्रयास करें । @ ट्रेकका
रेयनोस

4

मुझे लगता है कि उपलब्ध विभिन्न परीक्षण ढाँचों के बीच, मोचा सबसे नवीनतम और लागू करने के लिए बहुत सरल है। यहाँ इसका उपयोग करने के तरीके के बारे में एक अद्भुत ट्यूटोरियल है: http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express-mocha/


खैर, ट्यूटोरियल के बारे में आपकी प्रशंसा के लिए धन्यवाद :)
s0nica


0

मूल रूप से नोड.जेएस के लिए बनाया गया है, डेडुनिट नोड.जेएस और ब्राउज़र के लिए एक जावास्क्रिप्ट यूनिट टेस्टिंग लाइब्रेरी है। इसकी कुछ अनूठी विशेषताएं:

  • आसान सीखने की अवस्था
  • कमांड लाइन (रंगीन या सादे-पाठ) या html के रूप में परिणाम का परीक्षण कर सकते हैं
  • यह कोड की वास्तविक पंक्तियों को प्रिंट करता है जहां आपके दावे हैं, इसलिए आपका आउटपुट समझ में आता है, भले ही आप टिप्पणी लिखने में बहुत समय खर्च न करें
  • इसमें एक सरल countमुखरता है जो अपेक्षित अपवादों और अतुल्यकालिक मुखरता के साथ काम करना आसान बनाता है
  • यह अपवाद और किसी भी संलग्न डेटा को प्रिंट करता है
  • यदि आपका कोड लटका हुआ है तो आप उसे बताएंगे (ऐसा कुछ जो आप नहीं चाहते हैं, लेकिन आमतौर पर किसी का ध्यान नहीं जाता)
  • एक ईवेंट संचालित एपीआई में एक नेटवर्क या किसी भी तरह से आप चाहते हैं कि किसी भी तरह से परीक्षा परिणाम को स्ट्रीमिंग करने में सक्षम बनाता है।
  • नोड-फाइबर के साथ परीक्षण का समर्थन करता है

0

मैंने अभी एक परियोजना अपलोड की है जिसका उपयोग मैं कर्म और जैस्मीन के साथ यूनिट टेस्ट नोडजेस के लिए कर रहा हूं: नर्म । आपके नोड मॉड्यूल एक नोड्यूबेटिटक ब्राउज़र में लोड हो जाते हैं ताकि आप नोड मॉड्यूल को निष्पादित कर सकें और समान छलांग में पुस्तकालयों का उपयोग कर सकें।


0

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

इसके बारे में यहाँ और पढ़ें ।

डिस्क्लेमर: मैं लेखक हूं।


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